在输入验证时捕获错误

2024-09-30 01:25:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要添加一个错误消息,如果用户在我的菜单选择中输入了一个字符串而不是一个整数,并且用户输入的数据量也是如此。我试过这个代码,但没用。在

import sys
try:
    newamount=int(input('Enter the new amount:'))
except ValueError:
    print ("error")

我做错什么了?在


Tags: 字符串代码用户import消息input错误sys
3条回答

如果int()的参数类型错误,将引发TypeError。在

假设您使用的是Python3,input()的返回值将始终是类型str

如果类型正常,但内容无法转换为int,则引发{}。在

要反复询问,应该使用while循环

while True:
    try:
        newamount=int(input('Enter the new amount:'))
        break
    except ValueError:
        print ("error")

如果您想统计错误,请使用itertools.countfor循环

^{pr2}$

这是因为向int()传递无效字符串(不是数字)将引发ValueError,而不是{}。不过你已经很接近了。在

只要改变它,它应该会工作得很好。在

except ValueError:
    print('Error!')

如果您想对newamount变量执行某些操作,我建议您在try块中执行该操作:

^{pr2}$

希望这有帮助!在

我认为在需要手动评估输入的情况下,最好使用原始输入。 就像这样。。。在

s = raw_input()
try:
    choice = int(s)
except ValueError:
print ('Wrong Input!')  

相关问题 更多 >

    热门问题