Урок 9

Цель урока: знать функцию для генерации случайных чисел; уметь выполнять предложенные задания на составление алгоритмов работы с графикой.


Использование случайных чисел

  from random import * #подключение библиотеки random
ФункцияОписаниеИспользованиеРезультат
randint(a, b)Возвращает случайное целое число, такое что a <= N <= brandint(1, 100) randint(1, 100) randint(1, 100)44 13 100
randrange(a)Возвращает случайное целое число, такое что 0 <= N < arandrange(10) randrange(10) randrange(10)0 7 9
random()Возвращает случайное рациональное число, такое что 0.0 <= N < 1.0random() random() random()0.85041888386… 0.75715357418… 0.49710865361…
uniform(a, b)Возвращает случайное рациональное число, такое что  a <= N <= buniform(5, 10) uniform(5, 10) uniform(5, 10)9.1331255058… 5.9057432677… 7.3048271926…

Пример 2. Написать программу для рисования на экране 10 разноцветных кругов. Расположение и их радиусы определяются случайным образом.

from random import *
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 rand_color() : # генерирует случайный цвет в модели RGB
    r = randrange (256)
    g = randrange (256)
    b = randrange (256)
    return (r, g, b)
def fill_circle (x, y, a, c) :
    p(x, y - a)
    color (c, c) # контур и заливка одного цвета
    begin_fill ()
    circle (a) # рисуем круг радиусом а
    end_fill ()
colormode (255)
# устанавливаем режим цветов: 0-255 (RGB)
for _ in range (10):
    x = randint (-250, 250)
    y = randint (-150, 150)
    a = randint (5, 70)
    p(x, y - a)  # перемещаемся в нижнюю точку крута
    fill_circle(x, y, a, rand_color())
    circle (a)
done ()

Результат работы программы:


Задания по теме урока

Задание 1. Измените Пример 1 для создания изображения звездного неба. Для этого на черном фоне нарисуйте 200 разноцветных кругов радиусом от 1 до 5 пикселей.

Чтобы задать цвет фона воспользуйтесь командой:

bgcolor("black")

Результат работы программы:

Задание 2. Дополните программу командами так, чтобы она рисовала 10 зеленых квадратов с длиной стороны от 10 до 30 пикселей, расположение которых определяется случайным образом.

from random import *
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()

Результат работы программы:


Это изображение имеет пустой атрибут alt; его имя файла - hw-e1653285769766.png

Домашнее задание

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

Добавить комментарий