Генерируйте случайную букву в Python

Существует ли способ генерировать случайные буквы в Python (как random.randint, но для букв)? Функциональность диапазона random.randint была бы хороша, но имела бы генератор, который просто производит случайную букву, было бы лучше чем ничего.

128
задан joaquin 17 June 2012 в 13:39
поделиться

5 ответов

Простой:

>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> import random
>>> random.choice(string.ascii_letters)
'j'

string.ascii_letters возвращает строку, содержащую нижний и верхний регистры. буквы в соответствии с текущим языковым стандартом.

random.choice возвращает единственный случайный элемент из последовательности.

217
ответ дан 24 November 2019 в 00:35
поделиться
>>> import random
>>> import string    
>>> random.choice(string.ascii_lowercase)
'b'
21
ответ дан 24 November 2019 в 00:35
поделиться

Другой способ, для полноты:

>>> chr(random.randrange(97, 97 + 26))

Используйте тот факт, что ascii 'a' - 97, а в алфавит.

При определении верхней и нижней границы вызова функции random.randrange () помните, что random.randrange () исключает его верхнюю границу, то есть он будет только когда-либо генерировать целое число на 1 единицу меньше указанного значения.

11
ответ дан 24 November 2019 в 00:35
поделиться
def randchar(a, b):
    return chr(random.randint(ord(a), ord(b)))
4
ответ дан 24 November 2019 в 00:35
поделиться
>>> import random
>>> import string
>>> random.choice(string.ascii_letters)
'g'
70
ответ дан 24 November 2019 в 00:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: