def valMap(x, in_min, in_max, out_min, out_max):
return ((x - in_min) * (out_max - out_min)) // (in_max - in_min) + out_min
def limit(self, input):
if -0.2 <= input <= 0.2:
input = 192
if input < -0.2:
input = valMap(input, -0.2, -1, 138, 192)
if input > 0.2:
input = valMap(input, 0.2, 1, 192, 242)
return input
输入值的范围从-1到+1浮点。 这只在最后一个if语句中起作用。 所有其他if语句都抛出奇怪的数字。你知道吗
这在Python2中确实有效。你知道吗
谢谢
这看起来与Python版本没有任何关系。你确定你的条件是相关的吗?据我所见,您在最后一个if语句中再次调用valMap函数,这取决于第一个函数调用的结果。你是不是想用elif来代替?你知道吗
相关问题 更多 >
编程相关推荐