繁体   English   中英

如果输入不正确,则会打印多个输入的错误-python

[英]print errors for multiple inputs if not correct - python

所以我的代码中有这个

gender = raw_input('What is your gender? Male, Female or Other: ')

如果提示时他们没有键入“ Male”,“ Female”或“ Other”,我将如何打印错误?

确保将其设置为小写字母,这样就不必处理奇怪的大小写问题,然后只想对照所查找单词的集合来检查输入内容即可。 因此,您的条件将使用a, if not in

gender = input('What is your gender? Male, Female or Other: ')

if gender.lower() not in ("male", "female", "other"):
    print("you did a very bad thing! bad!")

如果您想引发一个异常,那么我建议使用ValueError异常,并使用相同的逻辑:

if gender.lower() not in ("male", "female", "other"):
    raise ValueError("You entered an incorrect input {}".format(gender))

这是打印错误并使用户再次出现的方法:

input = raw_input('What is your gender? Male, Female or Other: ').strip()
while input not in["Male", "Female" , "Other"]:
    print "Error! Go again!"
    input = raw_input('What is your gender? Male, Female or Other: ').strip() 
    if input not in["Male", "Female" , "Other"]: continue

print input
if gender not in ('Male', 'Female', 'Other'):
    print "Some Error message"

您也可以引发异常而不是打印

如果需要,可以针对以下情况引发异常(例如ValueError )。

 >>> if raw_input().lower() not in ['male','female','others']:
 ...     raise ValueError("Give a valid gender")
 ... 
 nothing
 Traceback (most recent call last):
   File "<stdin>", line 2, in <module>
 ValueError: Give a valid gender

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM