Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Подскажите, как сгенерировать такую строку со случайными значениями: английские буквы и цифры 0-9 на python?

XXXX-XXXX-XXXX-XXXX-XXXX
PythonНаписание кода
Бухарев Евгений
  ·   · 276
Лучший
старший разработчик в pseven.io  · 28 окт 2021
Разобьем задачу на более простые подзадачи. Если у нас будет программа, генерирующая строку из четырёх случайных символов XXXX, то вызвав её четыре раза и склеив со знаками минуса получим искомое XXXX-XXXX-XXXX-XXXX-XXXX.
Значит нам нужна функция, генерирующая строку из случайных символов. Идем дальше — если у нас будет возможность сгенерировать один такой символ, то опять таки, мы можем сделать это четыре раза и склеить в одну строку.
Таким образом задача сводится к следующей: получить один случайный символ из указанного набора — цифры 0-9 и английские буквы A-Z.
Один из способов как это сделать — создать набор всех нужных нам символов, а дальше выбрать случайный с помощью функции choice() модуля random:
import string, random

characters = string.digits + string.ascii_uppercase
return random.choice(characters)
Пример решения задачи целиком:
import string, random, itertools

def get_random_character(characters):
    while True:
        yield random.choice(characters)

def get_random_string(length):
    random_characters = get_random_character(string.digits + string.ascii_uppercase);
    while True:
        yield "".join(itertools.islice(random_characters, length))

print ("-".join(itertools.islice(get_random_string(4), 5)))
Здесь для создания строки используются генераторы и модуль itertools, но это же можно сделать и с помощью обычных циклов.
Что-то осталось непонятно? Спроси в нашей группе в Телеграме!Перейти на t.me/jstsmentor
Openstack DevOps and IBM/Informix Certified DBA...  · 28 окт 2021
Язык Python имеет встроенную поддержку для генерации UUID версий 1, 3, 4 и 5. Пример того, как вы можете создать UUID версии 4 в коде Python. Читать далее