Отримання знань
дистанційна підтримка освіти школярів
Програми з використанням випадкових чисел
Генератор випадкових чисел random підключається за допомогою команди:
from random import *
Можливі варіанти команд:
¤ r = random() повертає дробове число r таке, що 0.0≤ r <1.0.
¤ d = randint(a, b) повертає ціле число d із проміжку [a, b].
¤ c = choice ([k, m, n]) обирає випадковим чином одне з перерахованих чисел: k, m чи n.
Наприклад: c= choice ([11, -2, 38, -400, 5]) обирає одне з чисел: 11, -2, 38, -400 або 5.
Задача “Windows_26_01.py”
Написати програму зображення вікна розмірами 60х40, назвою“My windows” з товщиною рамки 5, колір якого генерується програмою.
Розв’язання
Будь-який колір утворюється при змішуванні трьох основних: червоного, зеленого і синього. Щоб при запуску програми кожного разу отримувати інший колір, потрібно генерувати (придумувати) різну насиченість (кількість) кожного з вказаних кольорів.
Насиченість (кількість) кольору задається числом у межах 1 байта (числа від 0 до 255). Нам потрібно згенерувати кількість червоного, зеленого та синього кольорів, змішати їх та перевести отримане значення у 16-ову систему числення для отримання коду кольору.
Це можна здійснити за допомогою наступних команд:
red = randint (0, 255)
green = randint (0, 255)
blue = randint (0, 255)
col = "#%02x%02x%02x" %(red, green, blue)
Розглянемо код програми.
from Tkinter import * # підключаємо бібліотеку Tkinter для роботи з вікнами
from random import * # підключаємо бібліотеку random для генерування випадкових чисел
win=Tk () # створюємо об’єкт “вікно” під назвою win
win.title ('My windows') # задаємо властивість title (заголовок вікна)
red = randint (0, 255) # генеруємо насиченість (кількість) червоного кольору
green = randint (0, 255) # генеруємо насиченість (кількість) зеленого кольору
blue = randint (0, 255) # генеруємо насиченість (кількість) синього кольору
col = "#%02x%02x%02x" %(red, green, blue)
# перетворюємо 3 отримані числа в 16-ову систему, отримуючи код кольору col
win.config (width = 60, height = 40, bg = col, relief = RAISED, bd = 5)
# задаємо властивості вікна: ширину - 60 пікселів, висоту - 40 пікселів, колір вікна - згенерований код кольору col, тип рамки relief, товщину рамки - 5 пікселів
win.mainloop() # запускаємо (відображаємо) вікно
Задача “Windows_26_02.py”
Написати програму, яка зображуватиме вікно із однією з 3-ох описаних надписів “Microsoft Word”, “Windows” або “Python” (вибір надпису здійснює програма). Параметри надписів задати на власний смак.
Розв’язання
from Tkinter import *
from random import *
win=Tk()
win.title ('My windows')
win.config (width = 40, height=60, bg='green', relief=RAISED, bd=5)
lab1 = Label (win, text='Microsoft Word', fg='red', font = ('Arial',40))
# створюємо об’єкт “надпис” lab1, який буде розміщуватись на вікні win; задаємо властивості: текст - 'Microsoft Word', колір літер - червоний, шрифт - назва 'Arial', розмір кегля - 40
lab2 = Label (win, text='Windows', fg='blue')
# створюємо об’єкт “надпис” lab2, який буде розміщуватись на вікні win; задаємо властивості: текст - 'Windows', колір літер - синій
lab3 = Label (win, text='Python', fg='yellow', bg='green', font='Centaur')
# створюємо об’єкт “надпис” lab3, який буде розміщуватись на вікні win; задаємо властивості: текст - 'Python', колір літер - жовтий, колір фону навколо літер - зелений, шрифт - назва 'Centaur'
lab = choice ([lab1, lab2, lab3])
# обираємо довільним чином один із трьох варіантів (lab1, lab2 або lab3), результат зберігаємо в змінній lab
lab.pack() # розміщуємо об’єкт “надпис” lab на вікні win
win.mainloop()
Задача “Windows_26_03.py”
1) Написати програму зображення вікна блакитного кольору, розмірами 250х85, товщиною рамки 5, назва (title) якого генерується програмою (вибір серед “Windows1”, “Windows2”, “Windows3”).
2) Додати надпис “I live in Vinnitsa” (шрифт - 'Arial', розмір шрифту генерує програма з проміжку [16, 45]).
3) Додати генерування довільного кольору надпису “I live in Vinnitsa”.