【问题标题】:How to set maximum value for an integer in Python如何在 Python 中设置整数的最大值
【发布时间】:2021-01-17 11:06:15
【问题描述】:

如何在 Python 中为整数设置最大限制我尝试使用 if 语句并且它有效,但我认为可能有更好的方法来做到这一点

我用来做这件事的代码很好用

f = 100
f = f + 15
if(f > 100):
    f = 100
print(f)

也尝试使用一个函数,但过了一会儿它给出了错误

def limit(f):
    if(f > 100):
     return 100

调用函数

f = limit(f)

就像每次f变化都写两行代码没什么大不了,但如果有更短的方法会更好

【问题讨论】:

  • 使用min:return min(f, 100)
  • 我应该在哪里写这个

标签: python python-3.x integer max


【解决方案1】:

这可以通过内置的 min 函数轻松完成

f = min(f, 100)

【讨论】:

    【解决方案2】:

    你不需要写一个函数,已经有一个函数可以做你想做的:

    >>> a = 85
    >>> limit = 100
    >>> a = min(limit, a + 10)
    >>> a
    95
    >>> a = min(limit, a + 10)
    >>> a
    100
    

    【讨论】:

    • 正确。仅供参考,因为我们真的不知道这里的预期最大值是多少,所以可以提到math.inf?
    【解决方案3】:

    你可以在一行中做到这一点

    def limit(x):
        return x if x <= 100 else 100
    

    或以更 Pythonic 的方式

    def limit(x, max_val=100):
        return x if x <= max_val else max_val
    

    【讨论】:

    • 使用内置的max作为参数名,不是个好主意,应该尽量避免。
    • 感谢评论改成max_val
    猜你喜欢
    • 2019-11-30
    • 2017-07-14
    • 2021-01-04
    • 2011-09-18
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 2023-02-15
    相关资源
    最近更新 更多