![](/img/trans.png)
[英]how can i achieve this ? I'm trying to have an Input that will print out all the numbers in sequential order using python
[英]Print user input in sequential order using for loop (Python)
我想向用戶請求五個數字並在列表中打印數字,然后是數字的總和:
IE
對於我的代碼,它會打印這個,
這是我的代碼:
#prompt for 5 numbers
x=1
num=0
while True:
try:
sum = 0
for y in range (1,6,1):
num = int (input("number:"))
sum = sum + num
print("number",x,":",num)
x += 1
print ("Sum of numbers: ", sum)
except ValueError:
print("Please enter a valid number")
continue
我該如何修復它以使其打印在列表中?
這是你的意思嗎
#prompt for 5 numbers
x=1
num=0
while True:
try:
sum = 0
for y in range (1,6,1):
num = int (input("number "+str(x)+":"))
sum = sum + num
x += 1
print ("Sum of numbers: ", sum)
x=1
except ValueError:
print("Please enter a valid number")
continue
工作示例
number 1:2
number 2:5
number 3:4
number 4:8
number 5:1
Sum of numbers: 20
不需要print("number",x,":",num)
並且需要添加break
來退出while
循環。
所以你的代碼應該是這樣的:
#prompt for 5 numbers
x=1
num=0
while True:
try:
sum = 0
for y in range (1,6,1):
num = int (input("number:"))
sum = sum + num
# print("number",x,":",num)
x += 1
print ("Sum of numbers: ", sum)
break
except ValueError:
print("Please enter a valid number")
continue
Output:
number:3
number:a
Please enter a valid number
number:4
number:2
number:3
number:5
number:4
Sum of numbers: 18
嘗試這個,
numbers = [int(input()) for _ in range(5)]
print(': '.join(map(lambda x: f'number{x}',numbers))+': Sum: '+str(sum(numbers)))
Output:
number1: number2: number3: number4: number5: sum: 15
我發現了問題,這很簡單,真的
將sum
重命名為total
之類的其他名稱。 總和實際上意味着別的東西(它是一個關鍵字)
所以你的代碼應該是這樣的——
#prompt for 5 numbers
x=1
num=0
while True:
try:
total = 0
for y in range (1,6,1):
num = int (input("number:"))
total += num
print("number",x,":",num)
x += 1
print ("Sum of numbers: ", total)
except ValueError:
print("Please enter a valid number")
continue
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.