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

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

Абонирай се

  • #1550
  • 06 Mar 2020

Примерно решение на задачата "Изведете текста "Hello World" на екрана за 3 секунди. Експериментирайте с координати, докато текста не се покаже приблизително в средата на екрана.":

# Create your objects here.
ev3 = EV3Brick()

# Write your program here.
ev3.screen.draw_text(40, 50, "Hello World") 
wait(3000)

Примерно решение на задачата "Създайте числова променлива с името "hours", която да е равна на 2 и използвайте командата ev3.screen.draw_text(), за да я покажете на екрана. Променливите няма нужда да ги поставяте в кавички.":

# Create your objects here. 
ev3 = EV3Brick()

hours = 2

# Write your program here.
ev3.screen.draw_text(40, 50, hours)
wait(3000)

Примерно решение на задачата "Програмирайте променливата "hours" да бъде равна на случайно избрано число между 1 и 12. Тествайте програмата си и напишете какво число се показа на екрана.":

import random

# Create your objects here. 
ev3 = EV3Brick()

hours = random.randint(1, 12)

# Write your program here.
ev3.screen.draw_text(40, 50, hours)
wait(3000)

Примерно решение на задачата "Създайте още една променлива и я кръстете "minutes", която да е равна на случайно число между 1 и 60. Покажете я на екрана, след променливата "hours". Тествайте програмата си и напишете какво число се показа на екрана.":

import random

# Create your objects here. 
ev3 = EV3Brick()

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

# Write your program here. 
ev3.screen.draw_text(40, 50, hours)
ev3.screen.draw_text(40, 70, minutes)
wait(3000)

Примерно решение на задачата "Колко градуса трябва да се завърти малката стрелка на часовника, за да покаже, че е изминал един час? (360/12)":

360 / 12 = 30

Примерно решение на задачата "Колко градуса трябва да се завърти голямата стрелка на часовника, за да покаже, че е изминала една минута? (360/60)":

360 / 60 = 6

Примерно решение на задачата "Създайте променлива с името "hour_degrees", която да е равна на произволно избрания брой часове "hours" умножен по (360/12).":

import random

# Create your objects here.
ev3 = EV3Brick()

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)

Примерно решение на задачата "Създайте още една променлива с името "minute_degrees", която да е равна на произволно избрания брой минути "minutes" умножен по (360/60).":

import random

# Create your objects here.
ev3 = EV3Brick()

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

Примерно решение на задачата "Програмирайте малката стрелка на робота да се премести на "hour_degrees" брой градуси със скорост 360 градуса в секунда.":

import random

# Create your objects here.
ev3 = EV3Brick()

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

# Write your program here. 
Motor(Port.B).run_angle(360, hour_degrees, Stop.COAST)

Примерно решение на задачата "Чрез клавишна комбинация, копирайте реда с командата run_angle и я поставете под нея. Променете копирания ред така, че голямата стрелка (мотор C) на робота да се премести на "minute_degrees" брой градуси със скорост 360 градуса в секунда.":

import random

# Create your objects here.
ev3 = EV3Brick()

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

# Write your program here. 
Motor(Port.B).run_angle(360, hour_degrees, Stop.COAST, False)
Motor(Port.C).run_angle(360, minute_degrees, Stop.COAST)

Примерно решение на задачата "Изведете моторите си в променливи с имената "hours_motor" и "minutes_motor".":

import random

# Create your objects here.
​​​​​​​ev3 = EV3Brick()

hours_motor = Motor(Port.B)
minutes_motor = Motor(Port.C)

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

# Write your program here. 
hours_motor.run_angle(360, hour_degrees, Stop.COAST, False)
minutes_motor.run_angle(360, minute_degrees, Stop.COAST)

Примерно решение на задачата "Програмирайте робота да изчака 5 секунди след като е преместил стрелките си и след това да ги върне обратно на 0 градуса.":

import random

# Create your objects here.
​​​​​​​ev3 = EV3Brick()

hours_motor = Motor(Port.B)
minutes_motor = Motor(Port.C)

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

# Write your program here. 
hours_motor.run_angle(360, hour_degrees, Stop.COAST, False)
minutes_motor.run_angle(360, minute_degrees, Stop.COAST)

wait(5000)

hours_motor.run_angle(-360, hour_degrees, Stop.COAST, False)
minutes_motor.run_angle(-360, minute_degrees, Stop.COAST)

Примерно решение на задачата "Програмирайте часа и минутите да не се показват на екрана, преди стрелките на часовника да са били в правилните си позиции 5 секунди.":

import random

# Create your objects here.
ev3 = EV3Brick()

hours_motor = Motor(Port.B)
minutes_motor = Motor(Port.C)

hours = random.randint(1, 12)
minutes = random.randint(1, 60)

hour_degrees = hours * (360/12)
minute_degrees = minutes * (360/60)

# Write your program here.
hours_motor.run_angle(360, hour_degrees, Stop.COAST, False)
minutes_motor.run_angle(360, minute_degrees, Stop.COAST)

wait(5000)
ev3.screen.draw_text(40, 50, hours) 
ev3.screen.draw_text(40, 70, minutes)
wait(3000)

hours_motor.run_angle(-360, hour_degrees, Stop.COAST, False)
minutes_motor.run_angle(-360, minute_degrees, Stop.COAST)

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

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

Image for Python за EV3 LEGO Mindstorms - ниво 1
  • 74
  • 28:18
  • 114
Image for Занятие 5 - Образователна играчка: Научете се да четете часовника
  • 7
  • 10
  • 16
  • 3d_rotation 1