我需要用Python编写一个程序,该程序打印用户必须输入的十个数字的总和。 此外,程序必须控制用户的输入并检查用户是否输入了数字或字符串
必须通过循环方法解决。
我尝试过:
sum = 0
try:
for i in range (0, 10):
a = int(input("Enter a number: "))
sum += a
print("\nThe sum is:", sum)
except ValueError:
print("User entered string")
该代码有效,但是我不明白如何在每次输入后检查用户是否输入了数字或字符串
答案 0 :(得分:1)
编写方式,脚本将在第一个错误后结束。
如果您想检查字符串,显示消息并仍然要求输入,则可以尝试以下操作:
i = 0
total = 0
while i < 10:
try:
a = int(input(f'Enter a number (position {i}): '))
total += a
i += 1
except ValueError:
print('You entered a string. Try again.')
print(f'\nThe sum is: {total}')
它将一直运行到i
达到10,但是只有在输入有效时我们才递增i
。
另外,避免使用名为sum
的变量,因为它已经是Python中的本机函数。
随时问任何问题,希望对您有所帮助。