Python条件布尔值[重复]

Posted

技术标签:

【中文标题】Python条件布尔值[重复]【英文标题】:Python conditional boolean [duplicate] 【发布时间】:2020-08-14 03:50:56 【问题描述】:

我试图了解 Python 中布尔值的可能性。

我不想使用 If 语句。

its_valid = True 

但我想要这样的东西

its_valid = True if taking_stones == 2 or taking_stones == 1

是否有可能在 python 中,如果不是在什么语言中,只是出于好奇?

编辑:第二个问题

是否也可以使用范围? (从 1 到 2)

its_valid = True if taking_stones 1:2

【问题讨论】:

its_valid = taking_stones == 2 or taking_stones == 1。布尔值的组合仍然是布尔值。 你也可以写its_valid = taking_stones in (1, 2)its_valid = taking_stones in range(1, 3) 该范围是否包含这些数字之间的浮点数以及 1.5 等如果我只想要整数,有没有办法指定范围?有没有办法设置步进? range(1,10, stepping 2) (只需要 2, 4,6,8,10) 谢谢! 我不认为这真的是 Python ternary operator 的副本,但无论如何。 第二个问题在***.com/questions/13628791/…得到解答 【参考方案1】:

等式比较返回布尔值,因此无需显式编写True if something true。你可以简单地写:

its_valid = (taking_stones == 2 or taking_stones == 1)

或者,如果您想更简洁地检查多个值:

its_valid = (taking_stones in (1,2))

【讨论】:

非常感谢!就是这样!像这样链接布尔值是一种好习惯,还是最好提前将布尔值设置为 True 或 False? 如果您提前设置布尔值,当您检查您真正关心的值时,它将被覆盖。如果你只想问 a 或 b 是否为真,则无需添加不必要的步骤。

以上是关于Python条件布尔值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python:将字符串列表转换为布尔值,其中布尔值以字符串形式存在[重复]

用python输入布尔值[重复]

在 Python 中初始化大量布尔值 [重复]

我的咖啡脚本中的条件语句在应该返回一个数字时返回一个布尔值[重复]

python - 用两个不同列表中的值替换列表的布尔值[重复]

具有多个条件的布尔索引[重复]