python - 是否有任何选项可以使用或运算符在同一 if 语句中将变量与数字和字符串进行比较?

标签 python

是否有任何选项可以使用 运算符在同一个 if 语句中将变量与数字和字符串进行比较?

我已经试过了,但它没有返回真实值:

print("enter you choice either 1 for yes\n 2 for no")
x=input("enter your choice")
if(x==1 or x=='yes'):
     x=5
elif(x==2 or x=='no'):
      x=6
print(x)

最佳答案

input返回的是一个字符串,所以需要和字符串进行比较。

此外,您还可以使用 in (__contains__) 检查给定集合中实现了 __contains__ 的值(可以是任何原语集合,例如 tuplelistset,但由于 O( 1) 查找,但创建集合的成本对所有人来说都是相同的):

if x in {'1', 'yes'}:

您显然可以使用 链来做到这一点,但那样可读性和可维护性不如使用集合。

关于python - 是否有任何选项可以使用或运算符在同一 if 语句中将变量与数字和字符串进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984371/

相关文章:

python - Django中使用多表继承时是否可以直接设置隐式OneToOne键?

python - 附加项目时列表的长度不相同

python - 从 AWS lambda 上的 nodejs 调用 python - 权限被拒绝

python - 将电子邮件发送到我的 python/flask 应用程序代码中的第一步是什么?

python - Python 3 的 UTF-8 编码问题

python - 为什么 Python 找不到 sys.path 目录中的共享对象?

python - 在 pyspark 中拆分列

python - 用美汤写xml

python - Django TypeError at/polls/1/vote/_reverse_with_prefix() * 之后的参数必须是可迭代的,而不是 int

c++ - OpenCV Python API 的 FileStorage