Цель урока: знать функцию для генерации случайных чисел; уметь выполнять предложенные задания на составление алгоритмов работы с графикой.
Пример 1. Написать программу для рисования на экране 10 разноцветных окружностей. Расположение окружностей, их радиусы определяются случайным образом.
from turtle import *
setup(640, 640)
speed(0)
hideturtle()
def p(x, y):
penup(), setpos(x, y)
pendown(), seth(0)
def rect(x1, y1, x2, y2, c):
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
fd(d), rt(90)
fd(h), rt(90)
fd(d), rt(90)
fd(h)
end_fill()
x = -280
y = 280
while x < 550:
rect(x, y, x + 50, y - 50, "lightblue")
x = x + 100
done()
Результат работы программы:


Задания по теме урока
Задние 1. Измените пример 1 так, чтобы программа рисовала квадраты вдоль левого края графического окна.

Задание 2. Измените пример 1 так, чтобы программа рисовала квадраты по диагонали графического окна.

Задание 3. Дополните программу, чтобы она рисовала концентрические окружности, используя цикл while
import turtle
turtle.coordinates = "yes"
from turtle import *
coordinates = "yes"
shape('turtle')
pensize(3)
speed(0)
hideturtle()
def p(x, y):
penup(), setpos(x, y)
pendown(), seth(0)
def fill_circle(x, y, r, c): # круг
p(x, y - r)
color("black", c)
begin_fill()
circle(r)
end_fill()
# дополнить код здесь
done()
Задание 4. Дополните программу, чтобы она рисовала вложенные друг в друга квадраты, используя цикл while.
import turtle
turtle.coordinates = "yes"
from turtle import *
coordinates = "yes"
shape('turtle')
pensize(3)
speed(0)
hideturtle()
def p(x, y):
penup(), setpos(x, y)
pendown(), seth(0)
def rect(x1, y1, x2, y2, c): # прямоугольник
p(x1, y1)
d = abs(x2 - x1)
h = abs(y2 - y1)
color("black", c)
begin_fill()
fd(d), rt(90)
fd(h), rt(90)
fd(d), rt(90)
fd(h)
end_fill()
# дополнить код здесь
done()

Домашнее задание
§ 6 учебного пособия, ответить на вопросы


