Существует ли способ генерировать случайные буквы в Python (как random.randint, но для букв)? Функциональность диапазона random.randint была бы хороша, но имела бы генератор, который просто производит случайную букву, было бы лучше чем ничего.
Простой:
>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> import random
>>> random.choice(string.ascii_letters)
'j'
string.ascii_letters
возвращает строку, содержащую нижний и верхний регистры. буквы в соответствии с текущим языковым стандартом.
random.choice
возвращает единственный случайный элемент из последовательности.
>>> import random
>>> import string
>>> random.choice(string.ascii_lowercase)
'b'
Другой способ, для полноты:
>>> chr(random.randrange(97, 97 + 26))
Используйте тот факт, что ascii
'a' - 97, а в алфавит.
При определении верхней и нижней границы вызова функции random.randrange ()
помните, что random.randrange ()
исключает его верхнюю границу, то есть он будет только когда-либо генерировать целое число на 1 единицу меньше указанного значения.
def randchar(a, b):
return chr(random.randint(ord(a), ord(b)))
>>> import random
>>> import string
>>> random.choice(string.ascii_letters)
'g'