![](/img/trans.png)
[英]Python 3 - Unittest with multiple inputs and print statement using mocking
[英]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.