Python випадковий модуль дозволяє генерувати випадкові числа. Згенеровані числа являють собою послідовність псевдовипадкових чисел, які базуються на використаній функції. Існують різні типи функцій, які використовуються в випадковому модулі для генерування випадкових чисел, наприклад random.random(), random.randint(), random.choice(), random.randrange(початок, зупинка, ширина) , та багато іншого.
Тут ми обговоримо randrange() функція випадковий модуль. The randrange() Функція використовується для генерації випадкового числа в межах зазначеного діапазону в її параметрі. Він приймає три параметри: початковий номер, кінцевий номер і ширину, яка використовується для пропуску числа в діапазоні.
Синтаксис random.randrange()
random.randrange(start, stop[, width])
The random.randrange() функція повертає випадкове ціле число в заданому діапазоні, тобто початок і зупинка. The random.randrange() функція приймає три параметри як вхідні дані почати, зупинити , і ширина . З цих трьох параметрів два параметри почати і ширина є необов'язковими.
- The почати Параметр є початковим або нижнім граничним цілим числом у випадковому діапазоні. Якщо початковий параметр не передано в parameter, він приймає значення за замовчуванням 0 (нуль).
- А СТІЙ Параметр — це останнє число або верхня межа цілого числа у випадковому діапазоні.
- The ширина Параметр — це діапазон між кожним числом у випадковій послідовності. Цей параметр необов’язковий, і якщо параметр ширини не передано в параметрі, він приймає значення за замовчуванням 1 (один).
The діапазон (початок, зупинка, ширина) функція не включає кінцевий параметр під час генерації випадкового цілого числа. The СТІЙ параметр є ексклюзивний , і він не генерується у вигляді випадкового числа.
Подивіться на цю функцію random.randrange(3, 30, 3), яка генеруватиме будь-яке випадкове ціле число від 3 до 30, наприклад 3, 6, 9, 12, …27. Але ця функція ніколи не включає 30 під час генерації випадкового числа.
Генерування випадкових значень у програмі завжди було важливим, і воно має кілька застосувань у реальному часі в повсякденному житті. Наприклад, створення та надсилання випадкового числа клієнту як OTP (одноразовий пароль) для здійснення безпечної транзакції. Інший приклад генерації випадкового числа використовується під час гри в лудо, щоб генерувати випадкове число кубика.
Приклади 1: random.randrange() генерує випадкове ціле число в заданому діапазоні
Давайте розглянемо приклад, коли ми генеруємо випадкове ціле число в заданому діапазоні. У цьому прикладі показано всі різні форми функції random.randrange().
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
Вихід:
Приклад 2: Створення випадкового діапазону цілих чисел (кратних) n
Давайте згенеруємо випадкове ціле число від 5 до 100, яке є діапазоном 5, наприклад 5, 10, 25, …, 90, 95.
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
Вихід:
Приклад 3: генерувати випадкове ціле число певної довжини
Ви також можете згенерувати випадкове ціле число певної довжини. Якщо ви хочете згенерувати випадкове число довжиною 3, введіть почати і СТІЙ параметр в randrange() функціонує як найменше число з 3 цифр (100) і найменше число з 4 цифр (1000), оскільки генерує випадкове число з 3 цифр від 100 до 999, де 4 цифри (1000) виключаються.
Приклад: генеруйте випадкове число з 3 цифр за допомогою random.randrange()
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
Вихід:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Приклад 4. Створення випадкового від’ємного цілого числа:
Давайте розглянемо приклад, який генерує випадкове від’ємне ціле число від -50 до -10.
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
Вихід:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Приклад 5: Генерувати випадкове додатне чи від’ємне ціле число
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Вихід:
-5 0
Зверніть увагу, що параметр почати і СТІЙ , який передається в random.randrange() функція повинна бути в порядку зростання, наприклад random.randrange(5, 10) або random.randrange(-20, -10) . The почати параметр завжди бути меншим за СТІЙ параметр; інакше ця функція генерує помилку як «Відстеження (останній останній виклик) і підвищення ValueError пустого діапазону для randrange()» .
Наприклад:
Подивіться на цей приклад, у якому ми порушуємо правило, передаючи почати параметр більше, ніж СТІЙ параметр в random.randrange() функція, яка генерує повідомлення про помилку у вигляді:
що таке obj в java
import random randomNumber = random.randrange(10,5)
Вихід:
Деякі інші функції Python випадковий модуль які використовуються для випадкового генерування чисел:
random.choice()
Python випадковий модуль має a вибір() функція, яка використовується для вибору випадкового елемента зі списку або іншої послідовності. А random.choice() функція використовується для повернення випадкового елемента зі списку значень.
Синтаксис ramdom.choice()
random.choice(sequence)
або
random.choices(sequence, k=l)
Ось параметр послідовність може бути рядком, списком, кортежем і random.choice() лише один випадковий елемент.
В random.choices() функція k це кількість елементів, які потрібно повернути. Припустимо, ми не згадуємо значення для k параметр random.choices() повертає один елемент із послідовності або списку.
приклад 1:
У цьому прикладі ми надаємо послідовність (список) як параметр і повертаємо один випадковий елемент.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Вихід:
random item from list is: 10
приклад 2:
Функція random.choices() здебільшого використовується для повернення випадкових елементів із різними можливостями. Ця функція також приймає вагу (k) кількості випадкових виборів. Наприклад, ми хочемо надрукувати 3 випадкові назви фільмів зі списку з 5 фільмів.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Вихід:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
random.randint()
Python random.randint() функція використовується для генерації випадкового цілого числа в межах зазначеного діапазону.
Синтаксис:
random.randint(start, stop)
The random.randint() функція приймає два параметри почати , який є початковим діапазоном, і СТІЙ , що є кінцевим діапазоном. Обидва параметри (старт, зупинка) включені під час генерації випадкового числа.
Приклад random.randint() генерує список випадкових цілих чисел
У цьому прикладі буде створено список із кількох випадкових цілих чисел за допомогою функції randint(). Створення списку з 5 випадкових цілих чисел від 1 до 100, обидва значення є включними.
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
Вихід:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
Однак може бути така ймовірність random.randint() функція повертає повторюване число у вихідному результаті. Щоб уникнути дублювання випадкового цілого числа в результаті, використовуйте random.sample() функція.
random.sample()
У наведеному вище прикладі може бути така ймовірність random.randint() генерує повторюване випадкове число зі списку. Якщо ви хочете створити унікальні випадкові числа зі списку, використовуйте random.sample() функція.
The random.sample() функція генерує унікальні елементи з набору, списку та інших послідовностей. Функція Python random.sample() дозволяє брати випадкову вибірку більш ніж одного елемента в діапазоні зі списку без дублювання.
Приклад random.sample() для генерації випадкових елементів зі списку без дублікатів:
У цьому прикладі ми згенеруємо 10 випадкових цілих чисел у діапазоні від 0 до 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Вихід:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Якщо ви хочете створити список випадкових чисел, кожне з яких має бути кратним 'n', скористайтеся параметром step функції range().
Наприклад, генерація 10 випадкових цілих чисел, кратних 5, із діапазону від 0 до 100 за допомогою random.sample(range(0, 100, 5), 10).
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
Вихід:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Список sort()
Python sort() функція використовується для сортування випадкових цілих чисел списку в порядку зростання (за замовчуванням). Ми також можемо відсортувати значення списку в порядку спадання, вказавши його порядок реверс = Правда . Значення за замовчуванням зворотний є помилковий .
Приклад 1: sort() сортує елементи списку в порядку зростання
У цьому прикладі ми створимо випадковий список із 5 чисел у діапазоні від 50 до 100 із шириною 5 і відсортуємо їх за допомогою sort() функція.
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
Вихід:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Приклад 2: sort() сортує елементи списку в порядку спадання
У цьому прикладі ми відсортуємо елементи списку в порядку спадання за допомогою randomList.sort(reverse=True) .
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
Вихід:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]