Поиск

понедельник, 23 апреля 2018 г.

Випадкові числа. Модуль random

Доброго дня! Сьогодня ми розглянемо більш детально можливості бібліотеки або ще називають модулья random. 
Досі ми писали програми, які роблять одне і те ж при кожному виконанні, тому говорять, що такі програми визначені.  Проте, в деяких програмах від комп'ютера вимагається непередбачуваність. Типовим прикладом є комп'ютерні ігри.
Змусити програму бути дійсно непередбачуваною завдання не таке просте, але є способи змусити її здаватися непередбачуваною. Одним з таких способів є генерування випадкових чисел і використання їх в програмі. В Python  є модуль random, який дозволяє генерувати випадкові числа. Вони не істинно випадкові, з математичної точки зору, але для наших цілей цілком підійдуть.
Отже, можна сказати, що випадковим є число, отримання якого є наперед непередбачуваним.
Модуль whrandom дозволяє працювати з такими числами.
Модуль whrandom включає функції:
1)
r = random()    повертає випадкове число r, таке, що 0.0<= r <1.0
Наприклад, одним зі значень, що видасть така команда, буде 0.620327001705.
2)
randint(a, b)
Повертає випадкове ціле число y з відрізку [a, b].
Наприклад, для того, щоб змінна у отримала значення випадкового числа з відрізку [1,100], треба написати команду
randint(1, 100)
3)
d = choice([1,4,6])
Обирає випадкове число d з чисел 1, 4 або 6.

Напишемо програму, яка випадково визначає колір відрізка.
Оскільки програма буде малювати лінію, то підключаємо модуль turtle
from turtle import *
Оскільки колір буде визначатися випадково, то підключаємо модуль whrandom
from whrandom import *
Компоненту кольору, що відповідає за червоні відтінки визначимо випадково
r=random()
Аналогічним чином зробимо для компонентів кольору, що відповідають за зелені та сині  відтінки
g=random()
b=random()
Тепер встановимо сам випадковий колір
color(r,g,b)
Далі напишемо команди, що малюють лінію довжиною 20 і товщиною 15
width(15)
forward(20)
Остаточно програма виглядатиме так:
from turtle import *
from whrandom import *
r=random()
g=random()
b=random()
color(r,g,b)
width(15)
forward(20)
Один з можливих результатів виконання цієї програми такий:
                                   
П'ять разів запустивши програму, ми отримаємо різнокольорову паличку (причому послідовність кольорів при кожному запуску буде своя):
                               
Але 5 кольорову паличку можна отримати і за один запуск програми, для цього у програмі  треба п'ять разів «обрати колір і намалювати лінію».

Напишемо програму, яка малює п'ятикольорову паличку, колір кожної смужки є випадковим числом.
Це можна зробити без циклу, повторивши п'ять разів  блок
r=random()
g=random()
b=random()
color(r,g,b)
width(15)
forward(20)
Запишемо, як буде виглядати програма з використанням циклу, що виконується п'ять разів:
from turtle import *
from whrandom import *
i=1
while i<=5:
    r=random()
    g=random()
    b=random()
    color(r,g,b)
    width(15)
    forward(20)
    i=i+1

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

Отправить комментарий