Программа на Python для написания последовательного ряда с буквенно-цифровыми символами в нем.

Есть ли возможный способ получить этот тип номера с. В питоне. Как называется этот тип системы счисления?

01,...0A,.......ZZ

2 ответа

Текущие предложения неверны. Например, комбинации с заменой не дадут вам AB а также BA в то же время только первый. А также permutations не будет иметь AA, BB, так далее.

Вместо этого вы должны использовать itertools.product,

Например:

import string
import itertools

combinations_generator = itertools.product(string.ascii_uppercase + string.digits, 
                                           repeat=2)
combinations = list(map(''.join, combinations_generator))
print(len(combinations))

Это даст вам ровно 1296 комбинаций.

combinations_generator будет генерировать кортежи как ('A', 'A'), ('A', 'B'), так далее.
И с map(''.join, combinations_generator) мы примем их вместе 'AA', 'AB', так далее.

Вы можете использовать перестановки, чтобы получить список.

Например

import string
import itertools
series = [''.join(r) for r in itertools.permutations([str(i) for i in range(10)]+[str(c) for c in string.ascii_uppercase], 2)]
print(series)
print(len(series))  # got 1260 here
Другие вопросы по тегам