Генерация случайной последовательности чисел в Python с помощью тире

Необходимо составить случайную последовательность чисел в Python через тире, например, 46417635-7485-8418-8754-651578178453.

С помощью модуля случайных чисел и функции randint удалось сгенерировать числа в определенном интервале (str(random.randint(100, 150). Как составить последовательность чисел, разделенных дефисом?


Ответы (5 шт):

Автор решения: MBo
import random
print("".join(random.choices('-01234567890',k=40)))

Можете модифицировать, чтобы тире не было в начале и в конце, два подряд не повторялось, а можно просто заново генерировать, пока не получится хорошо.

→ Ссылка
Автор решения: Эникейщик

Составляй 5 чисел нужной длины и соединяй через дефис.

→ Ссылка
Автор решения: 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

https://ideone.com/YrZVde

from uuid import uuid4
 
print(uuid4())
7bb59495-a4a4-442d-8133-f70611bca5fc
→ Ссылка