Модуль random управляє генерацією випадкових чисел. Його основні функції: random(): генерує випадкове число від 0.0 до 1.0 randint(): повертає випадкове число з певного діапазону randrange():повертає випадкове число з певного набору чисел shuffle(): перемішує список choice(): повертає випадковий елемент списку
Функція random () повертає випадкове число з плаваючою точкою в проміжку від 0.0 до 1.0. Якщо ж нам необхідно число з більшого діапазону, скажімо від 0 до 100, то ми можемо відповідно помножити результат функції random на 100. import random number = random.random() # значення від0.0 до 1.0 print(number) number = random.random()*100 # значення від 0.0 до 100.0 print(number)
Функція randrange () повертає випадкове ціле число з певного набору чисел. Вона має три форми: • randrange (stop): в якості набору чисел, з яких відбувається вилучення випадкового значення, буде використовуватися діапазон від 0 до числа stop, • randrange (start, stop): набір чисел являє діапазон від числа start до числа stop, • randrange (start, stop, step): набір чисел являє діапазон від числа start до числа stop, при цьому кожне число в діапазоні відрізняється від попереднього на крок step.
Робота зі списком Для роботи зі списками в модулі random визначені дві функції: функція shuffle () перемішує список випадковим чином, а функція choice () повертає один випадковий елемент зі списку: numbers = [1, 2, 3, 4, 5, 6, 7, 8] random.shuffle(numbers) print(numbers) random_number = random.choice(numbers) print(random_number)
Задача 2. Одержати у програмі 10 випадкових чисел у діапазоні від -15 до 15 та знайти кількість додатніх. import random k=0 for i in range(0,10): x=random.randint(-15,15) if x>0: k+=1 print(x, end=" ") print() print("Кількість додатніх=",k) >>> %Run 66.py 0 -8 1 6 -13 1 15 -4 7 13 Кількість додатніх= 6 >>>
Задача 3. У масиві, що містить 20 додатних і від'ємних цілих чисел, в діапазоні [-50, 50], обчислити суму парних додатних елементів. >>> %Run 66.py [4, 34, 6, -11, 2, 38, -20, 6, -42, -45, -40, 30, 6, 37, 5, -46, -32, 6, -9, 1] [4, 34, 6, 2, 38, 6, 30, 6, 6] s= 132 >>> %Run 66.py import random N = 20 my_list = [] for i in range(N): n = random.randint(-50, 50) my_list.append(n) print(my_list) s = 0 my_list2 =[] for i in range(N): if my_list[i] > 0 and my_list[i]%2 == 0: s += my_list[i] my_list2.append(my_list[i]) print(my_list2) print("s=",s)