【发布时间】:2009-12-28 12:24:01
【问题描述】:
我正在寻找有关如何在 Python 中将一个范围值转换为另一个范围值的想法。我正在从事硬件项目,正在从可以返回一系列值的传感器读取数据,然后我使用该数据来驱动需要不同值范围的执行器。
例如,假设传感器返回 1 到 512 范围内的值,而执行器由 5 到 10 范围内的值驱动。我想要一个可以传递一个值和两个范围并得到的函数返回映射到第二个范围的值。如果这样的函数被命名为translate,它可以这样使用:
sensor_value = 256
actuator_value = translate(sensor_value, 1, 512, 5, 10)
在此示例中,我希望输出 actuator_value 为 7.5,因为 sensor_value 位于可能输入范围的中间。
【问题讨论】:
-
感谢大家的回答,我接受了 Adam Luchjenbroers 的回答,因为它与我的想法非常吻合,没有为相对简单的任务引入第三方库。