Advertisement
prasun54

AI_CSP

Jul 16th, 2024
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.82 KB | Source Code | 0 0
  1. from itertools import permutations
  2. from sys import argv
  3.  
  4. str1 = 'TWO'
  5. str2 = 'TWO'
  6. str3 = 'FOUR'
  7.  
  8.  
  9. if '-i' in argv:
  10.     str1 = input("Enter str1: ")
  11.     str2 = input("Enter str2: ")
  12.     str3 = input("Enter str3: ")
  13.  
  14. values = {}
  15.  
  16. def str_to_num(numstr):
  17.     num = 0
  18.     for c in numstr:
  19.         num = num*10 + values[c]
  20.     return num
  21.  
  22. for c in str1+str2+str3:
  23.     values[c] = 0
  24.  
  25. symbols = set(values.keys())
  26. k = len(symbols)
  27.  
  28. if k > 10:
  29.     exit('Too many symbols')
  30.  
  31. for value_ins in permutations(range(10), r=k):
  32.     for symbol, value in zip(symbols, value_ins):
  33.         values[symbol] = value
  34.     num1 = str_to_num(str1)
  35.     num2 = str_to_num(str2)
  36.     num3 = str_to_num(str3)
  37.     if num3 == num1 + num2:
  38.         print(f"{num1=}, {num2=}, {num3=}")
  39.         if '-a' not in argv:
  40.             break
Tags: python search
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement