This Python program generates all valid integers composed only of the digits 0, 1, and 2.
The program avoids leading zeros and displays numbers of varying lengths (e.g., 1-digit, 2-digit, up to a specified limit).
This is useful for simulations, encoding systems, or digit-based filtering.
from itertools import product
# Digits allowed
digits = ['0', '1', '2']
# Maximum number of digits
max_length = 4
print("Generated numbers using digits 0, 1, and 2:")
for length in range(1, max_length + 1):
for combo in product(digits, repeat=length):
# Skip numbers with leading zero
if combo[0] == '0':
continue
print(''.join(combo))
1
2
10
11
12
...
2222
- product(digits, repeat=length) generates all combinations of the given length
- Leading zeros are skipped to avoid invalid integers
- ''.join(combo) converts the digit tuple into a string representation
- You can increase max_length to generate longer numbers