3. Генератор случайных чисел

В процессе обучения мы широко будем использовать генератор случайных чисел. Это будет полезно как в играх, например для случайной расстановки бомб, так и для обычных тренировочных задач. Чтобы получить случайное число, надо подключить модуль random и воспользоваться функцией randrange(), которая получает в качестве аргумента (см. справочник на то, что такое функция, что такое аргумент, результат) максимально возможное значение (почти). randrange(10) вернет случайное число в промежутке от 0 до 9, а print(a) позволит вывести это число на экран (в консоль). Запустите эту программу несколько раз:

import random
a = random.randrange(10)
print(a)

Нельзя сказать, что random.randrange слишком удобно печатать – уж слишком длинно. Мы можем упростить себе жизнь, если подключим только функцию randrange:

from random import randrange
a = randrange(10)
print(a)

Стало лучше, но можно еще короче!

from random import randrange as rnd
a = rnd(10)
print(a)

Теперь попробуем нарисовать квадрат случайного размера:

from turtle import *
from random import randrange as rnd
def sq(a):
    color('red','yellow')
    begin_fill()
    pd() 
    fd(a)
    rt(90)
    fd(a)
    rt(90)
    fd(a)
    rt(90)
    fd(a)
    pu()
    end_fill()
a = rnd(10,100)
sq(a)
done()

На этот раз функция rnd (randrange) получает два аргумента: минимальное значение и максимальное значение. Не слишком-то интересно рисовать квадраты очень маленького размера, не так ли?

1. Нарисовать окружность, размер выбрать случайным образом от 20 до 100
2. Нарисовать две окружности одинакового размера, выбранного случайным образом

Посмотрим, как переместить Черепашку в случайно выбранную точку:

x = rnd(-200,200)
y = rnd(-200,200)
setpos(x,y)
3. Нарисовать окружность в случайном месте (см. справочник команд Черепашки)
4. Нарисовать 10 окружностей в случайных местах, случайно выбранным размером

Изменим команду «Квадрат» таким образом, чтобы квадрат был нарисован под случайным углом:

from turtle import *
from random import randrange as rnd

speed(0)

def sq(a):
        rt(rnd(360))
        color('green','lightgreen')
        begin_fill()
        pd()
        fd(a)
        rt(90)
        fd(a)
        rt(90)
        fd(a)
        rt(90)
        fd(a)
        rt(90)
        pu()
        end_fill()

sq(90)
done()

5. Нарисовать 10 квадратов случайного размера в случайных местах, повернутых на случайный угол
Снимок экрана от 2016-01-03 15:36:13


Комментарии:

4 thoughts on “3. Генератор случайных чисел

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *