【问题标题】:Is there a way in python to execute a statement like 'for min(x, y) do z' without an if-else logic?python 中有没有一种方法可以在没有 if-else 逻辑的情况下执行类似 \'for min(x, y) do z\' 的语句?
【发布时间】:2022-11-13 04:55:09
【问题描述】:

在我将两个数字作为条件进行比较的情况下,是否有更短的方法来编写 if-else 循环?

这是一个伪代码示例:

a = 10
b = 15

c = None


if a > b:
    c = b
elif a < b:
    c = a    

python有没有办法把上面的表达式缩短?

到目前为止,我的想法让我想到了for min(x, y) do z 之类的想法,但我不知道这是否可以在 python 中以这种形式实现。有什么建议么?

【问题讨论】:

  • 照你说的做:c = min(a,b)
  • 你可以这样做,对于简单的 if else 情况,c = a if a&lt; b else b
  • for 用于循环,在这种情况下没有意义。
  • c = (a+b + abs(a-b))//2

标签: python algorithm if-statement


【解决方案1】:

是的,有两种方法可以做到这一点。 Python 有一个内置函数 min(),正如您所说,它将返回两个值中的最小值

c = min(a,b)

或者您可以像这样将 if 放在一行中

c = b if b<a else a

希望这可以帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 2018-01-21
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多