簡體   English   中英

使用for循環(Python)按順序打印用戶輸入

[英]Print user input in sequential order using for loop (Python)

我想向用戶請求五個數字並在列表中打印數字,然后是數字的總和:

IE

number1: number2: number3: number4: number5: Sum:

對於我的代碼,它會打印這個,

號碼: 號碼 1: 號碼: 號碼 2:

這是我的代碼:

#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM