我有一个函数,它接受3个参数(upperBound,lowerBound,value),如果value不在upperBound和lowerBound之间,它应该被重新分配。我可以用正数来做,但我不知道它如何适用于负数和正数混合,即如果
我有f(60,0,-5)我希望函数显示55.我知道我们必须使用模运算符,我可以使用不同情况的组合,但我想只用2种情况实现以下:
如果value是<lowerBound,则为正,负整数的一个通用语句,它在边界之间给出值
否则,如果value> upperBound,则为正,负整数的一个通用语句,它在边界之间给出值
任何帮助,将不胜感激。
在Python -5 % 60 = 55
%(modulo)运算符从第一个参数除以第二个参数得到余数。数字参数首先转换为通用类型。零右参数会引发ZeroDivisionError异常。参数可以是浮点数,例如,3.14%0.7等于0.34(因为3.14等于4 * 0.7 + 0.34。)模运算符总是产生与第二个操作数(或零)具有相同符号的结果;结果的绝对值严格小于第二个操作数[1]的绝对值。
记得为最小值做偏移。 假设我们有以下内容
int min = 15;
int max = 60;
int testValue = -5;
请执行下列操作
int result = (testValue % (max-min)) + min;
即使min,max或testValue为负,这应该相同。