Files
2026-03-18 16:56:08 +02:00

45 lines
1.4 KiB
Python

def find_codes(pattern):
result = []
for char in pattern:
print(result, char)
if char == "?":
if len(result) == 0:
for num in range(1,10):
if str(num) not in pattern:
result.append(str(num))
else:
for i in range(len(result)):
for num in range(1,10):
if str(num) not in result[i] and str(num) not in pattern:
result.append(result[i] + str(num))
else:
if len(result) == 0:
result = [char]
else:
for i in range(len(result)):
result[i] += char
print(result)
print()
longest = len(result[-1])
result = list(filter(lambda x : len(x) == longest, result))
print("Final result:", result)
print()
return result
if __name__ == "__main__":
codes = find_codes("3148")
print(codes) # ['1', '2', '3', ...]
codes = find_codes("24?5")
print(codes) # ['2415', '2435', '2465', '2475', '2485', '2495']
# codes = find_codes("1?2?")
# print(codes[:5]) # ['1324', '1325', '1326', '1327', '1328']
# print(len(codes)) # 42
# codes = find_codes("????")
# print(codes[:5]) # ['1234', '1235', '1236', '1237', '1238']
# print(len(codes)) # 3024