将数字映射到指定范围

PythonPythonBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在编程中,我们经常需要将一个数字从一个范围映射到另一个范围。例如,我们可能有一个范围从 0 到 10 的数字,但我们需要将其映射到 0 到 100 的范围。这在许多应用中都很有用,比如缩放数据或转换单位。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/comments("Comments") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/variables_data_types -.-> lab-13700{{"将数字映射到指定范围"}} python/numeric_types -.-> lab-13700{{"将数字映射到指定范围"}} python/comments -.-> lab-13700{{"将数字映射到指定范围"}} python/type_conversion -.-> lab-13700{{"将数字映射到指定范围"}} python/tuples -.-> lab-13700{{"将数字映射到指定范围"}} python/function_definition -.-> lab-13700{{"将数字映射到指定范围"}} python/build_in_functions -.-> lab-13700{{"将数字映射到指定范围"}} end

将数字映射到指定范围

编写一个名为 num_to_range 的函数,该函数接受五个参数:numinMininMaxoutMinoutMax。该函数应返回 num 在从 inMininMax 的范围内映射到 outMinoutMax 范围内的值。换句话说,该函数应接受一个落在特定范围(inMininMax)内的数字(num),并将其映射到一个新的范围(outMinoutMax)。

def num_to_range(num, inMin, inMax, outMin, outMax):
  return outMin + (float(num - inMin) / float(inMax - inMin) * (outMax
                  - outMin))
num_to_range(5, 0, 10, 0, 100) ## 50.0

总结

在这个挑战中,你需要编写一个函数,将一个数字从一个范围映射到另一个范围。在许多编程应用中,这可能是一个有用的工具。