Toán học#

Giới thiệu#

Math bao gồm cả các hàm Python tích hợp sẵn và mô-đun math đầy đủ, được tự động có sẵn trong VEXcode GO. Các công cụ này cho phép bạn thực hiện mọi thứ từ phép toán số học cơ bản đến lượng giác nâng cao, làm tròn và các phép toán logarit.

Sử dụng các hàm và hằng số này để tính toán vị trí, góc, khoảng cách và các giá trị số khác cho robot của bạn. Bạn cũng có thể chuyển đổi giữa độ và radian, đánh giá biểu thức và làm việc với các giá trị đặc biệt như vô cực và NaN.

Dưới đây là danh sách các hàm toán học, hằng số và tiện ích có sẵn:

Các hàm tích hợp sẵn – Các công cụ toán học thông dụng được tích hợp sẵn trong Python.

  • abs – Trả về giá trị tuyệt đối của một số.

  • round – Làm tròn một số đến số chữ số thập phân được chỉ định.

  • min – Trả về giá trị nhỏ nhất trong các giá trị đầu vào.

  • max – Trả về giá trị lớn nhất trong các giá trị đầu vào.

  • sum – Cộng tất cả các giá trị trong một iterable.

  • divmod – Trả về thương và số dư dưới dạng một bộ.

  • pow – Nâng một số lên lũy thừa, tùy chọn với số dư.

  • int – Chuyển đổi một giá trị thành số nguyên.

  • float – Chuyển đổi một giá trị thành số thập phân.

Constants – Predefined values from the math module.

  • math.pi – Hằng số π (pi).

  • math.tau – Hằng số tau (2π).

  • math.e – Số Euler, cơ số của logarit tự nhiên.

Lượng giác – Tính toán các góc và mối quan hệ giữa các cạnh.

  • math.sin – Sin của một góc tính bằng radian.

  • math.cos – Cosin của một góc tính bằng radian.

  • math.tan – Tangent của một góc tính bằng radian.

  • math.atan – Arctangent của một giá trị tính bằng radian.

  • math.atan2 – Arctangent của y/x tính bằng radian, xét theo góc phần tư.

  • math.asin – Arcsin của một giá trị tính bằng radian.

  • math.acos – Arccosin của một giá trị tính bằng radian.

  • math.degrees – Chuyển đổi radian sang độ.

  • math.radians – Chuyển đổi độ sang radian.

Làm tròn & Giá trị tuyệt đối – Điều chỉnh độ chính xác hoặc hướng.

  • math.ceil – Làm tròn lên số nguyên gần nhất.

  • math.floor – Làm tròn xuống số nguyên gần nhất.

  • math.trunc – Loại bỏ phần thập phân.

  • math.fabs – Trả về giá trị tuyệt đối dưới dạng số thực.

Lũy thừa và Logarit – Tính lũy thừa, căn bậc hai và logarit.

Các phép toán số thực dấu phẩy động – Kiểm tra hoặc phân tích giá trị dấu phẩy động.

  • math.modf – Trả về phần thập phân và phần nguyên của một số thực.

  • math.frexp – Phân tích một số thành phần định trị và số mũ.

  • math.fmod – Phần dư với dấu của số bị chia.

  • math.copysign – Trả về một giá trị có dấu của một giá trị khác.

  • math.ldexp – Tính x * (2 ** exp).

Chức năng tích hợp sẵn#

Python cung cấp một số hàm tích hợp sẵn cho phép bạn thực hiện các phép toán trong dự án của mình.

abs#

abs trả về giá trị tuyệt đối của một số, loại bỏ dấu âm.

Usage:
abs(x)

Tham số

Sự miêu tả

x

Một số nguyên hoặc số thực.

def main():
    # Get the absolute value of -10
    abs_result = abs(-10)
    console.print(abs_result)

# abs_result = 10

# Start threads — Do not delete
start_thread(main)

round#

round làm tròn một số đến số chữ số thập phân được chỉ định.

Usage:
round(x, ndigits)

Tham số

Sự miêu tả

x

Một số nguyên hoặc số thực.

ndigits

Tùy chọn. Số chữ số thập phân cần làm tròn. Mặc định là 0.

def main():
    # Round 5.7 to the nearest integer
    round_int_result = round(5.7)
    console.print(round_int_result)

# round_int_result = 6

# Start threads — Do not delete
start_thread(main)

def main():
    # Round 3.14159 to 2 decimal places
    round_result = round(3.14159, 2)
    console.print(round_result, precision=2)

# round_result = 3.14

# Start threads — Do not delete
start_thread(main)

min#

Hàm min trả về giá trị nhỏ nhất từ ​​nhiều đối số hoặc một đối tượng có thể lặp lại.

Usage:
min(arg1, arg2, …) or min(sequence)

Tham số

Sự miêu tả

arg1, arg2, …

Các con số để so sánh.

sequence

Một danh sách, bộ dữ liệu hoặc chuỗi khác chứa các số.

def main():
    # Get the smallest number from 3, 7, and 1
    min_result = min(3, 7, 1)
    console.print(min_result)

# min_result = 1

# Start threads — Do not delete
start_thread(main)

def main():
    # Get the smallest value from a list
    min_list_result = min([10, 4, 25, 1])
    console.print(min_list_result)

# min_list_result = 1

# Start threads — Do not delete
start_thread(main)

max#

Hàm max trả về giá trị lớn nhất từ ​​nhiều đối số hoặc một đối tượng có thể lặp lại.

Usage:
max(arg1, arg2, …) or max(sequence)

Tham số

Sự miêu tả

arg1, arg2, …

Các con số để so sánh.

sequence

Một danh sách, bộ dữ liệu hoặc chuỗi khác chứa các số.

def main():
    # Get the largest number from 3, 7, and 1
    max_result = max(3, 7, 1)
    console.print(max_result)

# max_result = 7

# Start threads — Do not delete
start_thread(main)

def main():
    # Get the largest value from a list
    max_list_result = max([10, 4, 25, 1])
    console.print(max_list_result)

# max_list_result = 25

# Start threads — Do not delete
start_thread(main)

sum#

sum cộng tất cả các giá trị trong một đối tượng có thể lặp lại, với một giá trị bắt đầu tùy chọn.

Usage:
sum(sequence, start)

Tham số

Sự miêu tả

sequence

Một danh sách, bộ dữ liệu hoặc chuỗi khác chứa các số.

start

Tùy chọn. Giá trị cần cộng vào tổng. Mặc định là 0.

def main():
    # Calculate the sum of a list of numbers
    sum_result = sum([1, 2, 3, 4, 5])
    console.print(sum_result)

# sum_result = 15

# Start threads — Do not delete
start_thread(main)

def main():
    # Calculate the sum of a list with a starting value of 10
    sum_with_start = sum([1, 2, 3], 10)
    console.print(sum_with_start)

# sum_with_start = 16

# Start threads — Do not delete
start_thread(main)

divmod#

divmod trả về một bộ giá trị chứa thương và số dư của phép chia.

Usage:
divmod(a, b)

Tham số

Sự miêu tả

a

Cổ tức.

b

Số chia.

def main():
    # Perform integer division and remainder of 10 / 3
    divmod_result = divmod(10, 3)
    console.print(divmod_result)

# divmod_result = (3, 1)

# Start threads — Do not delete
start_thread(main)

pow#

pow nâng một số lên lũy thừa và tùy chọn thực hiện phép toán lấy phần dư.

Usage:
pow(x, y, mod)

Tham số

Sự miêu tả

x

Số cơ sở.

y

Số mũ.

mod

Tùy chọn. Giá trị môđun. Nếu được cung cấp, trả về (x ** y) % mod.

def main():
    # Calculate 2 raised to the power of 3
    pow_result = pow(2, 3)
    console.print(pow_result)

# pow_result = 8

# Start threads — Do not delete
start_thread(main)

int#

Hàm int chuyển đổi một số hoặc chuỗi thành số nguyên. Nó cũng hỗ trợ chuyển đổi cơ số khi chuyển đổi từ chuỗi.

Usage:
int(x, base)

Tham số

Sự miêu tả

x

Một số, chuỗi ký tự hoặc đối tượng khác cần chuyển đổi.

base

Tùy chọn. Cơ số số được sử dụng để chuyển đổi. Mặc định là 10.

def main():
    # Convert a float to an integer to get rid of decimals
    price = 19.99
    price_int = int(price)
    console.print("{} coins".format(price_int))

# Output: 19 coins

# Start threads — Do not delete
start_thread(main)

def main():
    # Convert a string into an integer to use in calculations
    user_input = "55"
    user_number = int(user_input)
    console.print(user_number * 2)

# Output: 110

# Start threads — Do not delete
start_thread(main)

float#

float chuyển đổi một số hoặc chuỗi ký tự thành số thập phân.

Usage:
float(x)

Tham số

Sự miêu tả

x

Một số, chuỗi ký tự hoặc đối tượng khác cần chuyển đổi.

# 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

Mô-đun Toán học#

Mô-đun math trong MicroPython cung cấp thêm các phương thức để thực hiện các phép tính toán học thông thường. Các phương thức này bao gồm các phép toán lượng giác, logarit và các phép toán số học khác.

Mô-đun math được nhập mặc định trong VEXcode.

Constants#

Hằng số là các giá trị được xác định trước và không thay đổi trong suốt dự án. Chúng có thể được sử dụng trong các phép tính mà không cần định nghĩa hoặc gán giá trị nào.

pi#

pi biểu thị hằng số toán học π, tỉ số giữa chu vi và đường kính của một đường tròn.

Usage:
math.pi

def main():
    # Calculate the area of a circle with radius 5 using pi
    circle_area = math.pi * 5 * 5
    console.print(circle_area, precision=2)

# circle_area = 78.54

# Start threads — Do not delete
start_thread(main)

tau#

tau cho giá trị của 2π.

Usage:
math.tau

def main():
    # Calculate the circumference of a circle with radius
    circumference = math.tau * 5
    console.print(circumference, precision=2)

# circumference = 31.42

# Start threads — Do not delete
start_thread(main)

e#

e cho biết cơ số của logarit tự nhiên.

Usage:
math.e

def main():
    # Calculate e raised to the power of 2
    e_power = math.pow(math.e, 2)
    console.print(e_power, precision=2)

# e_power = 7.39

# Start threads — Do not delete
start_thread(main)

Trigonometry#

tội lỗi#

Hàm sin tính sin của một góc theo radian và trả về một giá trị float.

Usage:
math.sin(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên biểu thị góc tính bằng radian.

def main():
    # Calculate the sine of 
    # 30 degrees in radians
    result = math.sin(math.radians(30))
    console.print(result, precision=2)

# result = 0.50

# Start threads — Do not delete
start_thread(main)

cos#

Hàm cos tính cosin của một góc theo radian và trả về một giá trị float.

Usage:
math.cos(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên biểu thị góc tính bằng radian.

def main():
    # Calculate the cosine of 
    # 60 degrees in radians
    result = math.cos(math.radians(60))
    console.print(result, precision=2)

# result = 0.50

# Start threads — Do not delete
start_thread(main)

rám nắng#

Hàm tan tính tang của một góc theo radian và trả về một số nguyên.

Usage:
math.tan(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên biểu thị góc tính bằng radian.

def main():
    # Calculate the tangent of 
    # 45 degrees in radians
    result = math.tan(math.radians(45))
    console.print(result)

# result = 1

# Start threads — Do not delete
start_thread(main)

asin#

Hàm asin tính toán hàm sin nghịch đảo (arc sin) của một số và trả về một số nguyên biểu thị góc tính bằng radian.

Usage:
math.asin(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên nằm giữa -1 và 1.

def main():
    # Calculate the arc sine 
    # of 0.5 in degrees
    result = math.degrees(math.asin(0.5))
    console.print(result)

# result = 30

# Start threads — Do not delete
start_thread(main)

acos#

Hàm acos tính toán hàm cosin nghịch đảo (arc cosin) của một số và trả về một số nguyên biểu thị góc tính bằng radian.

Usage:
math.acos(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên nằm giữa -1 và 1.

def main():
    # Calculate the arc cosine 
    # of 0.5 in degrees
    result = math.degrees(math.acos(0.5))
    console.print(result)

# result = 60

# Start threads — Do not delete
start_thread(main)

atan#

Hàm atan tính hàm arctan (arc tangent) của một số và trả về một số nguyên biểu thị góc tính bằng radian.

Usage:
math.atan(x)

Tham số

Sự miêu tả

x

Số thực hoặc số nguyên.

def main():
    # Calculate the arc tangent 
    # of 1 in degrees
    arc_tan = math.atan(1.0)
    result = math.degrees(arc_tan)
    console.print(result)

# result = 45

# Start threads — Do not delete
start_thread(main)

atan2#

Hàm atan2 tính giá trị chính của hàm arctan của y/x và trả về một số thực biểu thị góc tính bằng radian.

Usage:
math.atan2(y, x)

Tham số

Sự miêu tả

y

Một số thực hoặc số nguyên biểu thị tọa độ y.

x

Một số thực hoặc số nguyên biểu thị tọa độ x.

def main():
    # Calculate the inverse tangent 
    # of 1/1 in degrees
    atan2 = math.atan2(1.0, 1.0)
    result = math.degrees(atan2)
    console.print(result)

# result = 45

# Start threads — Do not delete
start_thread(main)

bằng cấp#

Hàm degrees chuyển đổi góc từ radian sang độ và trả về một số nguyên.

Usage:
math.degrees(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên biểu thị góc tính bằng radian.

def main():
    # Convert pi radians to degrees
    degrees_result = math.degrees(math.pi)
    console.print(degrees_result)

# degrees_result = 180

# Start threads — Do not delete
start_thread(main)

radian#

radians chuyển đổi góc từ độ sang radian.

Usage:
math.radians(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên biểu thị góc tính bằng độ.

def main():
    # Convert 180 degrees to radians
    radians_result = math.radians(180)
    console.print(radians_result, precision=2)

# radians_result = 3.14

# Start threads — Do not delete
start_thread(main)

Rounding & Absolute Values#

trần nhà#

ceil làm tròn số lên đến số nguyên gần nhất.

Usage:
math.ceil(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên cần được làm tròn lên.

def main():
    # Round 3.7 up to the nearest integer
    ceil_result = math.ceil(3.7)
    console.print(ceil_result)

# ceil_result = 4

# Start threads — Do not delete
start_thread(main)

sàn nhà#

floor làm tròn số xuống số nguyên gần nhất.

Usage:
math.floor(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên cần được làm tròn xuống.

def main():
    # Round 3.7 down to the nearest integer
    floor_result = math.floor(3.7)
    console.print(floor_result)

# floor_result = 3

# Start threads — Do not delete
start_thread(main)

trunc#

trunc loại bỏ phần thập phân của một số mà không làm tròn.

Usage:
math.trunc(x)

Tham số

Sự miêu tả

x

Một số thực cần được cắt bớt.

def main():
    # Remove the decimal part of 3.7
    trunc_result = math.trunc(3.7)
    console.print(trunc_result)

# trunc_result = 3

# Start threads — Do not delete
start_thread(main)

vải#

fabs trả về giá trị tuyệt đối của một số dưới dạng số thực.

Usage:
math.fabs(x)

Tham số

Sự miêu tả

x

Số thực hoặc số nguyên.

def main():
    # Get the absolute value of -3.7
    fabs_result = math.fabs(-3.7)
    console.print(fabs_result, precision=1)

# fabs_result = 3.7

# Start threads — Do not delete
start_thread(main)

Exponents & Logarithms#

nhật ký#

Hàm log tính logarit của một số và trả về một số thực.

Usage:
math.log(x, base)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên dương.

base

Tùy chọn. Cơ số logarit cần sử dụng. Mặc định là logarit tự nhiên.

def main():
    # Calculate the natural logarithm
    # (base e) of 7.389056
    log_result = math.log(7.389056)
    console.print(log_result)

# log_result = 2

# Start threads — Do not delete
start_thread(main)

def main():
    # Calculate the log base 2 of 8
    log_result = math.log(8, 2)
    console.print(log_result)

# log_result = 3

# Start threads — Do not delete
start_thread(main)

log10#

Hàm log10 tính logarit cơ số 10 của một số và trả về một số thực.

Usage:
math.log10(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên dương.

def main():
    # Calculate the base-10 logarithm of 100
    log10_result = math.log10(100)
    console.print(log10_result)

# log10_result = 2

# Start threads — Do not delete
start_thread(main)

pow#

Hàm pow nâng x lên lũy thừa y và trả về một số thực, ngay cả khi cả hai đầu vào đều là số nguyên.

Usage:
math.pow(x, y)

Tham số

Sự miêu tả

x

Cơ số thực hoặc số nguyên.

y

Số mũ là số thực hoặc số nguyên.

def main():
    # Calculate 2 raised to the power of 3
    power_result = math.pow(2, 3)
    console.print(power_result)

    # power_result = 8

# Start threads — Do not delete
start_thread(main)

căn bậc hai#

Hàm sqrt tính căn bậc hai của một số và trả về một số thực, kể cả với các số chính phương.

Usage:
math.sqrt(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên không âm.

def main():
    # Calculate 2 raised to the power of 3
    power_result = math.pow(2, 3)
    console.print(power_result)

# power_result = 8

# Start threads — Do not delete
start_thread(main)

kinh nghiệm#

Hàm exp tính lũy thừa của một số và trả về một số thực.

Usage:
math.exp(x)

Tham số

Sự miêu tả

x

Số thực hoặc số nguyên.

def main():
    # Calculate e raised to the power of 1
    exp_result = math.exp(1)
    console.print(exp_result, precision=2)

# exp_result = 2.72

# Start threads — Do not delete
start_thread(main)

Floating Point Operations#

modf#

modf phân tích một số thành phần thập phân và phần nguyên và trả về một bộ (fractional part, integer part), cả hai đều là số thực.

Usage:
math.modf(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên cần phân tích.

def main():
    # Decompose 3.14159 into fractional and integer parts
    fractional_part, integer_part = math.modf(3.14159)
    console.print(fractional_part, precision=2)
    console.new_line()
    console.print(integer_part)

# fractional_part = 0.14
# integer_part = 3

# Start threads — Do not delete
start_thread(main)

frexp#

frexp phân tích một số thành phần định trị và số mũ và trả về một bộ (mantissa, exponent), trong đó định trị là một số thực và số mũ là một số nguyên.

Usage:
math.frexp(x)

Tham số

Sự miêu tả

x

Một số thực hoặc số nguyên cần phân tích.

def main():
    # Decompose 16 into its mantissa and exponent
    mantissa, exponent = math.frexp(16)
    console.print(mantissa, precision=2)
    console.new_line()
    console.print(exponent)

# mantissa = 0.50
# exponent = 5

# Start threads — Do not delete
start_thread(main)

fmod#

fmod trả về phần dư của phép chia trong khi vẫn giữ nguyên dấu của số bị chia (x).

Usage:
math.fmod(x, y)

Tham số

Sự miêu tả

x

Cổ tức.

y

Số chia.

def main():
    # Calculate remainder of 10 / 3
    # that preserves the sign of 10
    fmod_result = math.fmod(10, 3)
    console.print(fmod_result)

# fmod_result = 1

# Start threads — Do not delete
start_thread(main)

copysign#

copysign trả về x với dấu của y.

Usage:
math.copysign(x, y)

Tham số

Sự miêu tả

x

Giá trị cần điều chỉnh.

y

Giá trị có dấu sẽ được sao chép.

def main():
    # Return -10 with the sign of 3 (positive)
    copysign_result = math.copysign(-10, 3)
    console.print(copysign_result)

# copysign_result = 10

# Start threads — Do not delete
start_thread(main)

ldexp#

ldexp tính x * (2 ** exp), tương đương với x * 2exp.

Usage:
math.ldexp(x, exp)

Tham số

Sự miêu tả

x

Giá trị cơ bản.

exp

Số mũ.

def main():
    # Compute 3 * (2 ** 4)
    ldexp_result = math.ldexp(3, 4)
    console.print(ldexp_result)

# ldexp_result = 48

# Start threads — Do not delete
start_thread(main)