input与if的问题
这个代码:six=input("输入你的性别:")
if six == "女" or "女":
print("正确")
else:
print("输入男或女")
不管input里面输啥都是正确。
我不理解。 本帖最后由 cflying 于 2022-2-11 22:15 编辑
if six == "女" or six =="男"
你那个相当于if "女",永远为true,肯定是正确了
if 代码块逻辑错误,将 if six == "女" or "女" 改成 if six == "女" or six == "男"
你不能直接写 "男" or "女" 作为条件, Python 会认为你是想判断 six 是否等于 "女" 或 "女"
而 Python 中字符串只要是 非 空,条件就为 True 即 满足条件,导致无论输入什么都会执行 if 代码块
另外 Python 中的 :非 0 、非 None、非空字符串、非空集合、非空字典都可以看成 布尔类型的 True
反之 0 、None、空字符串、空集合、空字典都可以看成布尔类型值的 False
cflying 发表于 2022-2-11 22:13
if six == "女" or six =="男"
你那个相当于if "女",永远为true,肯定是正确了
好的,谢谢你
页:
[1]