我正在尝试使用数字创建while循环功能。基本上,我的功能是不断增加数字,直到输入一个非数字,然后才能中断循环。但是,当我输入一个非数字输入时,该非数字也会被添加到公式中并导致错误。
如何从方程式中排除非数字?
sum_num = 0
while True:
num = input("Please input a number: ")
sum_num = int(sum_num) + int(num)
if num.isdigit() != True:
print(sum_num)
break
答案 0 :(得分:0)
我将使用try except
来捕获错误。这清楚表明您正在避免这种情况。
您的代码无法正常工作的原因是,您尝试在将“ nondigit”(字符串)添加到“ digit”(整数)之前,甚至在检查是否可能的情况下(在已经执行此操作之后)导致了错误。如果您将上述if语句移至您的代码,则将可以正常工作:
sum_num = 0
while True:
num = input("Please input a number: ")
if num.isdigit() != True:
print(sum_num)
break
sum_num = int(sum_num) + int(num)
答案 1 :(得分:0)
如果将它包装在try / except中,它应该做您想要的事。
while True:
num = input("Please input a number: ")
try:
sum_num = int(sum_num) + int(num)
except ValueError as ex:
print(sum_num)
break