我想简短点
我的代码是:
if player_gender != "male" or "Male" or "female" or "Female":
print("Try again")
else:
print("Great!")
不知道为什么,但是无论我是否键入正确的单词(男性,男性,女性或女性),它都会不断输出“重试”消息。
在输入正确的性别类型时,由于使用了“!=”运算符,因此我希望它会跳过“重试”消息,然后直接跳至“好!”。信息。但是它总是说“再试一次”
副词
我也尝试过
if player_gender == "male" or "Male" or "female" or "Female":
print("Great!")
else:
print("Try Again")
在这里,我总是会得到“很棒!”即使我故意选择与性别不符的单词,也不要“再试一次”。
我也知道过去,有一种方法可以使if语句更短,而不是:
if player_gender == "male" or "Male" or "female" or "Female":
是否存在某种会同时包含小写和大写拼写的短语或符号?我宁愿为以后的项目学习这种方式。
是的,我是新手,哈哈 我知道这个问题有多容易,一旦我意识到自己的错误,我肯定会面无表情。 但是,已完全认可,但没有其他任何帮助,建议或批评!! =)
答案 0 :(得分:0)
如果您在一个if语句中检查多个条件,例如:
if player_gender != "male" or "Male" or "female" or "Female":
Do something
Python的评估方式是:
if player_gender != "male": Do something
or if "Male": Do something
or if "female": Do something
现在if "Male"
是什么意思?这是在检查“男”是否是一些非空字符串,即True。因为“ Blabla”不是Falsey,所以被评估为True。它不是空字符串,0整数,布尔值False或列表/元组/字典为空。
检查是否为正确的方法:
if player_gender != "male" or player_gender != "Male" or player_gender != "female" or player_gender != "Female":
Do something
更好:
if player_gender not in ["male", "Male", "female", "Female"]:
Do something