一棵小白菜 发表于 2022-2-11 22:10:49

input与if的问题

这个代码:
six=input("输入你的性别:")
if six == "女" or "女":
    print("正确")
else:
    print("输入男或女")

不管input里面输啥都是正确。
我不理解。

cflying 发表于 2022-2-11 22:13:50

本帖最后由 cflying 于 2022-2-11 22:15 编辑

if six == "女" or six =="男"

你那个相当于if "女",永远为true,肯定是正确了

Twilight6 发表于 2022-2-11 22:19:23



if 代码块逻辑错误,将 if six == "女" or "女" 改成 if six == "女" or six == "男"

你不能直接写 "男" or "女" 作为条件, Python 会认为你是想判断 six 是否等于 "女" 或 "女"

而 Python 中字符串只要是 非 空,条件就为 True 即 满足条件,导致无论输入什么都会执行 if 代码块

另外 Python 中的 :非 0 、非 None、非空字符串、非空集合、非空字典都可以看成 布尔类型的 True

反之 0 、None、空字符串、空集合、空字典都可以看成布尔类型值的 False

一棵小白菜 发表于 2022-2-11 22:19:49

cflying 发表于 2022-2-11 22:13
if six == "女" or six =="男"

你那个相当于if "女",永远为true,肯定是正确了

好的,谢谢你
页: [1]
查看完整版本: input与if的问题