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 –