I would like to request for five numbers from the user and print the numbers in a list followed by the sum of the numbers:
ie
For my code it prints this instead,
This is my code:
#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
How may I fix it such that it prints in a list instead?
Is this what you meant
#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
Worked Example
number 1:2
number 2:5
number 3:4
number 4:8
number 5:1
Sum of numbers: 20
There is no need for print("number",x,":",num)
and need to add break
to exit the while
loop.
So your code should look like this:
#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
Try this,
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
I found the problem and it's quite simple, really
Rename sum
to something else like total
. Sum actually means something else(it is a keyword)
So your code should look like this-
#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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.