【问题标题】:Limit an input to a range Python [duplicate]将输入限制在Python范围内[重复]
【发布时间】:2020-11-26 12:57:17
【问题描述】:

我得到一些用户输入,如果他们选择了一个给定间隔之外的值,我想将该值设置为边缘值。我可以这样做:

if input > upper_limit:
    input = upper_limit
elif input < lower_limit:
    input = lower_limit

感觉应该有更好的方法来做到这一点,但我不知道怎么做。你有什么建议吗?

【问题讨论】:

    标签: python


    【解决方案1】:

    您可以使用 min 和 max 函数:

    input = min(input, upper_limit)
    input = max(input, lower_limit)
    

    或者只是

    input = max(min(input, upper_limit), lower_limit)
    

    【讨论】:

      【解决方案2】:

      你可以用函数式的方式来做:

      i = upper_limit if  i > upper_limit else lower_limit if i <lower_limit else i
      

      顺便说一句,最好不要将你的变量命名为input,因为你正在隐藏一个内置函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多