0
我想为给定输入n的每个案例打印N皇后。为此,我必须为j = n-1明确写出条件,以在每个'n'列之后得到一个新行。如何在python3打印函数的for循环结尾处打印新行?
for i in range(n):
for j in range(n):
if j!=n-1:
if j==a[i]-1:
print('Q',end=' ')
else:
print('-',end=' ')
else:
if j==a[i]-1:
print('Q')
else:
print('-')
输出:
#One case in n=5
- - Q - -
Q - - - -
- - - Q -
- Q - - -
- - - - Q
对于不使用条件明确,我得到一个线输出,这是显而易见的。
- - Q - - Q - - - - - - - Q - - Q - - - - - - - Q
有没有什么办法可以在print = function的地方隐式写条件?
for i in range(n):
for j in range(n):
if j==a[i]-1:
print('Q',(end=' ' if j!=n-1)) #this is not correct
else:
print('-',if j!=n-1: end=' ') #also not correct
我使用的是Python 3.4.2的IDLE。
你尝试'打印(,结束=(”'如果j!= N-1,否则 '\ n'))'? –
vaultah
哦,那肯定是我错过了。 :)谢谢,它给出了正确的结果。 –
Python很棒! :D –