Генерация случайной последовательности чисел в Python с помощью тире
Необходимо составить случайную последовательность чисел в Python через тире, например, 46417635-7485-8418-8754-651578178453.
С помощью модуля случайных чисел и функции randint удалось сгенерировать числа в определенном интервале (str(random.randint(100, 150). Как составить последовательность чисел, разделенных дефисом?
Ответы (5 шт):
Автор решения: MBo
→ Ссылка
import random
print("".join(random.choices('-01234567890',k=40)))
Можете модифицировать, чтобы тире не было в начале и в конце, два подряд не повторялось, а можно просто заново генерировать, пока не получится хорошо.
Автор решения: CrazyElf
→ Ссылка
Просто соедините через нужный вам разделитель ваши числа-строки с помощью str.join:
import random
numbers = [str(random.randint(100, 150)) for _ in range(5)]
result = '-'.join(numbers)
print(result)
Пример вывода:
139-129-137-117-141
Автор решения: Алексей Р
→ Ссылка
Генерим 36 цифр, на определенных позициях заменяем их дефисами; склеиваем.
import random
id = ''.join((c, '-')[i in (8, 13, 18, 23)] for i, c in enumerate(random.choices('0123456789', k=36)))
print(id)
16206957-4444-6542-7460-863548660777
Автор решения: Qwertiy
→ Ссылка
from uuid import uuid4
print(uuid4())
7bb59495-a4a4-442d-8133-f70611bca5fc