Как се пресмятат задачки в променливи и входни параметри Pro Preview

В Python може да записваме математически уравнения в стойността на променливи и входни параметри. Това, което се случва в програмата е, че променливите и входните параметри не записват уравнението в себе си, а го пресмятат и използват резултата му.

Необходимо е да се абонирате за FLLCasts.com, за да достъпите това видео

Абонирай се

  • #1549
  • 27 Feb 2020

Основни математически оператори в Python

Математическите оператори в уравненията, които можем да пишем в Python, се пишат със следните знаци:

  • " + " събиране ;
  • " - " изваждане;
  • " * " умножение;
  • " / " деление.

Има и други математически оператори, които можем да използваме, но тези са главните.

Как се използват изрази като стойност на променлива

Нека разгледаме пример, в който скоростта на моторите е зададена като уравнението 250 + 250:

Motor(Port.B).run_time(250 + 250, 3000, Stop.COAST, False)
Motor(Port.C).run_time(250 + 250, 3000, Stop.COAST)

В този пример, моторите се движат със скорост 500. Тези уравнения могат да бъдат записани в променлива "motor_speed" и тази променлива да замени входните параметри за скорост:

# Create your objects here. 
ev3 = EV3Brick()

motor_speed = 250 + 250

# Write your program here.
Motor(Port.B).run_time(motor_speed, 3000, Stop.COAST, False)
Motor(Port.C).run_time(motor_speed, 3000, Stop.COAST)

Как изразите да зависят от променлива

По този начин можем да си създадем променливи, които да зависят от други променливи. Ето един пример, в който скоростта "motor_speed" е равна на новата променлива за разстояние "distance" разделена на новата променлива за време "move_time":

# Create your objects here. 
ev3 = EV3Brick()

move_time = 3000
distance = 100
motor_speed = distance / move_time

# Write your program here.
Motor(Port.B).run_time(motor_speed, move_time, Stop.COAST, False)
Motor(Port.C).run_time(motor_speed, move_time, Stop.COAST)

Нека разгледаме пример, в който роботът трябва да завива в дъга. Със максималната скорост на моторите ще се експериментира и ще бъдат променяни редовно, но знаем, че скоростта на по-бавния мотор трябва винаги да е наполовина от скоростта на бързия мотор:

# Create your objects here. 
ev3 = EV3Brick()

motor_speed = 1000

# Write your program here.
Motor(Port.B).run_time(motor_speed, 3000, Stop.COAST, False)
Motor(Port.C).run_time(motor_speed / 2, 3000, Stop.COAST)

Забележете, че е използвана само една променлива и във входния параметър на командата "run_time" за мотора на порт С, скоростта е разделена на 2. По този начин може да намалим броя променливи в програмата си и да създадем взаимовръзки между променливите, когато това е нужно.

Курсове и занятия включващи този Урок

Този Урок е използван в следните курсове и занятия.

Image for Python за EV3 LEGO Mindstorms - ниво 1
  • 74
  • 28:18
  • 114
Image for Занятие 4 - Странен робот
  • 7
  • 5
  • 11
  • 3d_rotation 1