[英]How do I print each iteration on separate lines in python3?
編碼新手,一名學生,我正在嘗試獲取此 output:
Line 1: input from user
Line 2: input from user
Line 3: input from user
Line 4:input from user
etc.
這是我的代碼
現在它只打印進入循環的最后一次迭代,我需要它在循環結束時在單獨的行上打印每個迭代,無論它循環多少次。
因為您正在打印來自while
循環的addLine
,所以它只會打印中斷while
循環之前的最后一個輸入。 要解決此問題, addLine
更改為列表,然后每次都將所有輸入添加到列表中。 然后,在中斷while
循環后,將代碼放入for
循環中,以便它為列表中的每個項目打印addLine
。 for
循環需要針對counter
中的每個數字,從 0 開始。例如,如果您輸入 5 個輸入,那么它將從 0-4 運行,所以打印該行,然后打印counter+1
的數字,所以它執行 1- 5 而不是 0-4。 然后只需添加addLine[num]
以便它從列表中獲取正確的項目。
userInput = ''
counter = 0
addLine = []
lineNumber = 0
newLine = ''
while True:
userInput = input('Would you like to enter more lines?: ')
if userInput == 'yes':
addLine.append(input('Please enter your line: '))
counter += 1
elif userInput == 'no':
break
print('Verse')
for num in range(counter):
print('Line ' + str(num + 1) + ': ' + addLine[num])
經過一些測試,這應該可以工作。
將您的打印語句放入循環中:
while True:
...
print(f"Line {counter}: {addLine}")
我稍微修改了你的代碼:
user_input = ''
add_line = []
while True:
user_input = input('Would you like to enter new lines?: ')
if user_input == 'yes':
add_line.append(input('Please enter your line: '))
if user_input == 'no':
break
print('Verse')
for i in add_line:
print(f'Line {add_line.index(i) + 1}: {i}')
測試運行:
Would you like to enter new lines?: yes
Please enter your line: this is a line
Would you like to enter new lines?: yes
Please enter your line: another line
Would you like to enter new lines?: no
Verse
Line 1: this is a line
Line 2: another line
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.