所以我看到了这篇文章,on limiting numbers,但是我注意到如果它不在这个范围内,它会切断一个数字。在
有没有办法做到这一点:
variable = 25
如果你的范围是1-20,那么variable
能变成5吗?在
或者如果variable = 41
,它是否变成了1?在
我试过了:
def loop(number, maxn, minn):
if number > maxn:
number = maxn - number
return number
范围是0-20,数字是40,我得到了-20?!?在
Tags:
只是想明白了。
我认为这应该适用于大多数情况,包括负数和范围。
一个选项是设置
variable = (|variable| % (MAX - MIN + 1)) + MIN
。这将给您一个介于MIN
和MAX
之间的数字。请注意,只有当}是非负整数,并且
variable
、MAX
和{MAX >= MIN >= 0
时,这种方法才始终有效。原因如下:}是非负的,因此模必须是非负的。因此它的最低值是零。我们在后面加上
|variable| % (MAX - MIN + 1)
必然是非负的,因为MAX - MIN + 1
和{MIN
,因此总数最低的数字可以是MIN
。至多,
|variable| % (MAX - MIN + 1)
是MAX - MIN
,这也是由于模运算符的性质。之后再加上MIN
就得到了MAX
。因此,最高输出将是MAX
。没有}之间的所有{}。
variable
将给出一个小于MIN
或高于MAX
的数,并且variable
的数目总是相等的,因此n = (|variable| % (MAX - MIN + 1)) + MIN
对于MIN
和{相关问题 更多 >
编程相关推荐