【问题标题】:Python conditional boolean [duplicate]Python条件布尔值[重复]
【发布时间】: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 的副本,但无论如何。
  • 第二个问题在stackoverflow.com/questions/13628791/…得到解答

标签: python python-3.x boolean conditional-statements


【解决方案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 是否为真,则无需添加不必要的步骤。
猜你喜欢
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2016-07-06
  • 2019-06-14
  • 1970-01-01
相关资源
最近更新 更多