我在寫一個程序,其中一行數字範圍打印在一行。但是我的代碼:while循環和結束的麻煩=''
while True:
user = int(input('Enter'))
if user > 0 :
for x in range (0,user +1):
print(x,end=' ')
具有以下的輸出:
Enter9
0 1 2 3 4 5 6 7 8 9 Enter
爲什麼進入打印在同一行?我該如何改變這一點?
我在寫一個程序,其中一行數字範圍打印在一行。但是我的代碼:while循環和結束的麻煩=''
while True:
user = int(input('Enter'))
if user > 0 :
for x in range (0,user +1):
print(x,end=' ')
具有以下的輸出:
Enter9
0 1 2 3 4 5 6 7 8 9 Enter
爲什麼進入打印在同一行?我該如何改變這一點?
您的打印命令不會以新行結束。 Add:
print()
在for
之後循環。
由於您將print
的「結束」參數設置爲' '
,因此您的代碼在同一行上打印「Enter」。因此,當您打印「Enter」時,您從同一行開始,而不是新行。 「結束」的默認值是\n
,這意味着在打印語句後它將打印一個新行。
我建議您在打印「Enter」之前添加\n
。這將解決您的問題,並會更容易閱讀。試試你的代碼改成這樣:
while True:
user = int(input('\nEnter: '))
if user > 0 :
for x in range (0,user +1):
print(x,end=' ')
,你會看到類似這樣的結果:
Enter: 7
0 1 2 3 4 5 6 7
Enter: 8
0 1 2 3 4 5 6 7 8
Enter: 4
0 1 2 3 4
Enter: 1
0 1
使用此:
while True:
user = int(input('Enter'))
if user > 0 :
for x in range (0,user +1):
print(x,end=' ')
print()
您必須添加只有一個print()
聲明在for
循環後。這確保了在範圍序列中的元素被打印出來之後添加換行符。
因爲您使用了'end =''',所以在''while'塊的末尾,只需放一個'print()',它將打印一個換行符 –
我無法重現您的問題。我看到'Enter9',但在'0 1 2 3 4 5 6 7 8 9'後面,'Enter'出現在換行符上。 – toonarmycaptain