В этом уроке по основам Python, мы рассмотрим функцию choice()
из встроенного модуля random. Данная функция позволяет выбрать случайно элемент, который может быть любым числом или строкой из заданной коллекции.
Синтаксис:
import random
random.choice(seq)
Аргументы:
seq
- последовательность, это может быть строка, список, кортеж и т.д.
Функция возвращает один случайный элемент из последовательности seq
. Последовательность seq
может быть как неизменяемой, так и изменяемой. Функция choice()
поддерживает диапазоны range()
.
Если вы хотите выбирать из неизменяемого множества (frozenset) или изменяемого множества (set), вам необходимо сначала их преобразовать в кортеж или список.
Рассмотрим пример, в виде генерации случайного предложения.
import random
# Последовательности слов
nouns = ['Fox', 'Cat', 'Dog', 'Bird']
verbs = ('hits', 'runs', 'jumps', 'ate', 'draws')
adv = {'crazily', 'beautifully', 'foolishly', 'merely', 'dutifully'}
# Предложение
sentence = [nouns, verbs, list(adv)]
# Выводим информацию на экран
print(' '.join([random.choice(word) for word in sentence]))
print(' '.join([random.choice(word) for word in sentence]))
print(' '.join([random.choice(word) for word in sentence]))
Результат:
>>> Cat jumps beautifully
>>> Fox jumps merely
>>> Dog hits dutifully
Пример с range()
import random
# Диапазон чисел
range_num = range(10, 30)
# Выбираем любое число
print(random.choice(range_num))
Результат:
>>> 26