Python3中的映射值

2024-10-03 02:41:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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中确实有效。你知道吗

谢谢


Tags: inselfinputreturnifdef数字语句
1条回答
网友
1楼 · 发布于 2024-10-03 02:41:51

这看起来与Python版本没有任何关系。你确定你的条件是相关的吗?据我所见,您在最后一个if语句中再次调用valMap函数,这取决于第一个函数调用的结果。你是不是想用elif来代替?你知道吗

相关问题 更多 >