gpt4 book ai didi

python 字符串如果 x != y 没有按预期工作

转载 作者:行者123 更新时间:2023-11-28 21:04:39 26 4
gpt4 key购买 nike

我正在学习 python 3。我知道我可能应该使用 argparse,但我想在 if 语句中对字符串进行简单测试,从 input() 函数获取数据。

如果我用 == 测试 2 个不同的字符串,事情会按预期工作但是,如果我反转我的 if 语句并使用 != 进行测试,它似乎不起作用

这是按预期工作的代码

import sys
import os

tdown = input("topdown true? type t or f: ")
print("tdown", type(tdown), tdown)

if tdown == 't' or tdown == 'f':
pass
else:
print(" need to type 't' or 'f', exiting")
sys.exit(1)
print("passed arg test, tdown is: ", tdown)

运行代码,结果如下

./os_walk.py

topdown true? type t or f: t
tdown <class 'str'> t./os_walk.py
passed arg test, tdown is: t

./os_walk.py

topdown true? type t or f: f
tdown <class 'str'> f
passed arg test, tdown is: f

./os_walk.py

topdown true? type t or f: x
tdown <class 'str'> x
need to type 't' or 'f', exiting

这里是使用 != 的代码,它没有按预期工作

import sys
import os

tdown = input("topdown true? type t or f: ")
print("tdown", type(tdown), tdown)

if tdown != 't' or tdown != 'f':
print(" need to type 't' or 'f', exiting")
sys.exit(1)
else:
pass
print("passed arg test, tdown is: ", tdown)

如果我运行它,我们会得到这些结果

./os_walk.py

topdown true? type t or f: t
tdown <class 'str'> t
need to type 't' or 'f', exiting

./os_walk.py

topdown true? type t or f: x
tdown <class 'str'> x
need to type 't' or 'f', exiting

我不明白为什么 != 会给我一个意想不到的结果,谁能解释一下?

最佳答案

And read here to find out why.

if  tdown != 't' and tdown != 'f':
...

关于python 字符串如果 x != y 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33826372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com