数学#
介绍#
Math includes both built-in Python functions and the full math module, which is automatically available in VEXcode V5. These tools allow you to perform everything from basic arithmetic to advanced trigonometry, rounding, and logarithmic operations.
使用这些函数和常量可以计算机器人的位置、角度、距离和其他数值。您还可以进行角度和弧度之间的转换、计算表达式以及处理特殊值,例如无穷大和 NaN。
以下是可用的数学函数、常量和实用程序列表:
内置函数 – Python 中包含的常用数学工具。
abs– Returns the absolute value of a number.round– Rounds a number to a specified number of decimal places.min– Returns the smallest of the input values.max– Returns the largest of the input values.sum– Adds up all values in an iterable.divmod– Returns the quotient and remainder as a tuple.pow– Raises a number to a power, optionally with a modulus.int– Converts a value to an integer.float– Converts a value to a floating-point number.
Constants – Predefined values from the math module.
三角学——计算角度和边之间的关系。
math.sin– Sine of an angle in radians.math.cos– Cosine of an angle in radians.math.tan– Tangent of an angle in radians.math.atan– Arctangent of a value in radians.math.atan2– Arctangent of y/x in radians, considering the quadrant.math.asin– Arcsine of a value in radians.math.acos– Arccosine of a value in radians.math.degrees– Converts radians to degrees.math.radians– Converts degrees to radians.
舍入与绝对值 – 调整精度或方向。
math.ceil– Rounds up to the nearest integer.math.floor– Rounds down to the nearest integer.math.trunc– Removes the decimal portion.math.fabs– Returns the absolute value as a float.
指数与对数——幂、根和对数计算。
math.pow– Raises a number to a power.math.sqrt– Returns the square root.math.exp– Calculates e to the power of x.math.log– Calculate the logarithm of x.
浮点运算——检查或分解浮点值。
math.modf– Returns the fractional and integer parts of a float.math.frexp– Decomposes a number into mantissa and exponent.math.fmod– Remainder with sign of the dividend.math.copysign– Returns a value with the sign of another.math.ldexp– Computesx * (2 ** exp).
内置功能#
Python 提供了几个内置函数,允许你在项目中执行数学运算。
abs#
abs returns the absolute value of a number, removing any negative sign.
Usage:
abs(x)
范围 |
描述 |
|---|---|
|
整数或浮点数。 |
# Get the absolute value of -10
abs_result = abs(-10)
brain.screen.print(abs_result)
# abs_result = 10
round#
round rounds a number to a specified number of decimal places.
Usage:
round(x, ndigits)
范围 |
描述 |
|---|---|
|
整数或浮点数。 |
|
可选。四舍五入到小数点后的位数。默认值为 0。 |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.screen.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.screen.print(round_result, precision=2)
# round_result = 3.14
min#
min returns the smallest value from multiple arguments or an iterable.
Usage:
min(arg1, arg2, …) or min(sequence)
范围 |
描述 |
|---|---|
|
需要比较的数据。 |
|
包含数字的列表、元组或其他序列。 |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.screen.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.screen.print(min_list_result)
# min_list_result = 1
max#
max returns the largest value from multiple arguments or an iterable.
Usage:
max(arg1, arg2, …) or max(sequence)
范围 |
描述 |
|---|---|
|
需要比较的数据。 |
|
包含数字的列表、元组或其他序列。 |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.screen.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.screen.print(max_list_result)
# max_list_result = 25
sum#
sum adds up all values in an iterable, with an optional starting value.
Usage:
sum(sequence, start)
范围 |
描述 |
|---|---|
|
包含数字的列表、元组或其他序列。 |
|
可选。要添加到总和中的值。默认值为 0。 |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.screen.print(sum_result)
# sum_result = 15
# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
brain.screen.print(sum_with_start)
# sum_with_start = 16
divmod#
divmod returns a tuple containing the quotient and remainder of a division operation.
Usage:
divmod(a, b)
范围 |
描述 |
|---|---|
|
分红。 |
|
除数。 |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.screen.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow raises a number to a power and optionally performs a modulus operation.
Usage:
pow(x, y, mod)
范围 |
描述 |
|---|---|
|
基数。 |
|
指数。 |
|
Optional. A modulus value. If provided, returns |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.screen.print(pow_result)
# pow_result = 8
int#
int converts a number or string into an integer. It also supports base conversion when converting from a string.
Usage:
int(x, base)
范围 |
描述 |
|---|---|
|
要转换的数字、字符串或其他对象。 |
|
可选。用于转换的数字基数。默认值为 10。 |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
brain.screen.print("{} coins".format(price_int))
# Output: 19 coins
# Convert a string into an integer to use in calculations
user_input = "55"
user_number = int(user_input)
brain.screen.print(user_number * 2)
# Output: 110
float#
float converts a number or string into a floating-point number.
Usage:
float(x)
范围 |
描述 |
|---|---|
|
要转换的数字、字符串或其他对象。 |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
robot.screen.print(apples_per_person)
# Output: 3.00
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
robot.screen.print(user_number * 3)
# Output: 70.20
数学模块#
The math module in MicroPython provides additional methods for performing common mathematical calculations. These methods include trigonometric, logarithmic, and other numerical operations.
The math module is imported by default in VEXcode.
Constants#
常量是预先定义好的值,在项目过程中保持不变。它们可以直接用于计算,无需任何定义或赋值。
π#
pi gives the mathematical constant π, the ratio of a circle’s circumference to its diameter.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
brain.screen.print(circle_area, precision=2)
# circle_area = 78.54
e#
e gives the base of the natural logarithm.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
brain.screen.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
罪#
sin calculates the sine of an angle in radians and returns a float.
Usage:
math.sin(x)
范围 |
描述 |
|---|---|
|
表示弧度角度的浮点数或整数。 |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.screen.print(result, precision=2)
# result = 0.50
化学#
cos calculates the cosine of an angle in radians and returns a float.
Usage:
math.cos(x)
范围 |
描述 |
|---|---|
|
表示弧度角度的浮点数或整数。 |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.screen.print(result, precision=2)
# result = 0.50
棕褐色#
tan calculates the tangent of an angle in radians and returns a float.
Usage:
math.tan(x)
范围 |
描述 |
|---|---|
|
表示弧度角度的浮点数或整数。 |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.screen.print(result)
# result = 1.00
亚辛#
asin calculates the inverse sine (arc sine) of a number and returns a float representing the angle in radians.
Usage:
math.asin(x)
范围 |
描述 |
|---|---|
|
介于 -1 和 1 之间的浮点数或整数。 |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.screen.print(result)
# result = 30.00
acos#
acos calculates the inverse cosine (arc cosine) of a number and returns a float representing the angle in radians.
Usage:
math.acos(x)
范围 |
描述 |
|---|---|
|
介于 -1 和 1 之间的浮点数或整数。 |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.screen.print(result)
# result = 60.00
阿坦#
atan calculates the inverse tangent (arc tangent) of a number and returns a float representing the angle in radians.
Usage:
math.atan(x)
范围 |
描述 |
|---|---|
|
浮点数或整数。 |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.screen.print(result)
# result = 45.00
atan2#
atan2 calculates the principal value of the inverse tangent of y/x and returns a float representing the angle in radians.
Usage:
math.atan2(y, x)
范围 |
描述 |
|---|---|
|
表示 y 坐标的浮点数或整数。 |
|
表示 x 坐标的浮点数或整数。 |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.screen.print(result)
# result = 45.00
学位#
degrees converts an angle from radians to degrees and returns a float.
Usage:
math.degrees(x)
范围 |
描述 |
|---|---|
|
表示弧度角度的浮点数或整数。 |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.screen.print(degrees_result)
# degrees_result = 180.00
弧度#
radians converts an angle from degrees to radians as a float.
Usage:
math.radians(x)
范围 |
描述 |
|---|---|
|
表示角度的浮点数或整数,单位为度。 |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.screen.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
天花板#
ceil rounds a number up to the nearest integer.
Usage:
math.ceil(x)
范围 |
描述 |
|---|---|
|
要向上取整的浮点数或整数。 |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.screen.print(ceil_result)
# ceil_result = 4
地面#
floor rounds a number down to the nearest integer.
Usage:
math.floor(x)
范围 |
描述 |
|---|---|
|
要向下取整的浮点数或整数。 |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.screen.print(floor_result)
# floor_result = 3
截断#
trunc removes the decimal part of a number without rounding.
Usage:
math.trunc(x)
范围 |
描述 |
|---|---|
|
待截断的浮点数。 |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.screen.print(trunc_result)
# trunc_result = 3
工厂#
fabs returns the absolute value of a number as a float.
Usage:
math.fabs(x)
范围 |
描述 |
|---|---|
|
浮点数或整数。 |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.screen.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
日志#
log calculates the logarithm of a number and returns a float.
Usage:
math.log(x, base)
范围 |
描述 |
|---|---|
|
一个正浮点数或整数。 |
|
可选。使用的对数底数。默认值为自然对数。 |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.screen.print(log_result)
# log_result = 2.00
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.screen.print(log_result)
# log_result = 3.00
火力#
pow raises x to the power of y and returns a float, even if both inputs are integers.
Usage:
math.pow(x, y)
范围 |
描述 |
|---|---|
|
浮点数或整数作为基数。 |
|
浮点数或整数指数。 |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.screen.print(power_result)
# power_result = 8.00
平方根#
sqrt calculates the square root of a number and returns a float, even for perfect squares.
Usage:
math.sqrt(x)
范围 |
描述 |
|---|---|
|
非负浮点数或整数。 |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.screen.print(square_root)
# square_root = 4.00
经验#
exp calculates the exponential of a number and returns a float.
Usage:
math.exp(x)
范围 |
描述 |
|---|---|
|
浮点数或整数。 |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.screen.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
modf#
modf decomposes a number into its fractional and integer parts and returns a tuple (fractional part, integer part), both as floats.
Usage:
math.modf(x)
范围 |
描述 |
|---|---|
|
要分解的浮点数或整数。 |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.screen.print(fractional_part, precision=2)
brain.screen.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
frexp#
frexp decomposes a number into its mantissa and exponent and returns a tuple (mantissa, exponent), where the mantissa is a float and the exponent is an integer.
Usage:
math.frexp(x)
范围 |
描述 |
|---|---|
|
要分解的浮点数或整数。 |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.screen.print(mantissa, precision=2)
brain.screen.print(exponent)
# mantissa = 0.50
# exponent = 5
fmod#
fmod returns the remainder of division while keeping the sign of the dividend (x).
Usage:
math.fmod(x, y)
范围 |
描述 |
|---|---|
|
分红。 |
|
除数。 |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.screen.print(fmod_result)
# fmod_result = 1
版权签名#
copysign returns x with the sign of y.
Usage:
math.copysign(x, y)
范围 |
描述 |
|---|---|
|
要修改的值。 |
|
要复制其符号的值。 |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.screen.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp computes x * (2 ** exp), which is equivalent to x * 2exp.
Usage:
math.ldexp(x, exp)
范围 |
描述 |
|---|---|
|
基准值。 |
|
指数。 |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.screen.print(ldexp_result)
# ldexp_result = 48