【发布时间】:2020-11-26 12:57:17
【问题描述】:
我得到一些用户输入,如果他们选择了一个给定间隔之外的值,我想将该值设置为边缘值。我可以这样做:
if input > upper_limit:
input = upper_limit
elif input < lower_limit:
input = lower_limit
感觉应该有更好的方法来做到这一点,但我不知道怎么做。你有什么建议吗?
【问题讨论】:
标签: python
我得到一些用户输入,如果他们选择了一个给定间隔之外的值,我想将该值设置为边缘值。我可以这样做:
if input > upper_limit:
input = upper_limit
elif input < lower_limit:
input = lower_limit
感觉应该有更好的方法来做到这一点,但我不知道怎么做。你有什么建议吗?
【问题讨论】:
标签: python
您可以使用 min 和 max 函数:
input = min(input, upper_limit)
input = max(input, lower_limit)
或者只是
input = max(min(input, upper_limit), lower_limit)
【讨论】:
你可以用函数式的方式来做:
i = upper_limit if i > upper_limit else lower_limit if i <lower_limit else i
顺便说一句,最好不要将你的变量命名为input,因为你正在隐藏一个内置函数。
【讨论】: