Geocrack

Buchstabenliste_automatisch

Jul 7th, 2022 (edited)
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.88 KB | None | 0 0
  1. import random
  2.  
  3. def zahlen_test(Buchstabenliste):
  4.  
  5.     num1_1 = Buchstabenliste["A"] * 100 + Buchstabenliste["B"] *10 + Buchstabenliste["B"]
  6.     num1_2 = Buchstabenliste["C"] *10 + Buchstabenliste["D"]
  7.     num1_3 = Buchstabenliste["E"] * 100 + Buchstabenliste["E"] *10 + Buchstabenliste["F"]
  8.        
  9.     num2_1 = Buchstabenliste["F"] *10 + Buchstabenliste["D"]  
  10.     num2_2 = Buchstabenliste["E"] *10 + Buchstabenliste["F"]
  11.     num2_3 = Buchstabenliste["C"] *10 + Buchstabenliste["E"]
  12.  
  13.     num3_1 = Buchstabenliste["E"] * 100 + Buchstabenliste["G"] *10 + Buchstabenliste["D"]
  14.     num3_2 = Buchstabenliste["F"] *10 + Buchstabenliste["H"]
  15.  
  16.     if num1_1 - num1_2 == num1_3 and num2_1 + num2_2 == num2_3 and num1_1 - num2_1 == num3_1 and num1_2 - num2_2 == num3_2:
  17.         x = num3_1 * num3_2
  18.         if x == num1_3 * num2_3:
  19.             x = str(x)
  20.             if len(x) == 3:
  21.                 Buchstabenliste["nr_ges_1"] = x[0]
  22.                 Buchstabenliste["nr_ges_2"] = x[1]
  23.                 Buchstabenliste["nr_ges_3"] = x[2]    
  24.                 return Buchstabenliste
  25.  
  26.  
  27. def zahlen_zufall():
  28.     Buchstabenliste = {"A": "A", "B" : "B", "C" : "C", "D" : "D", "E" : "E", "F" : "F","G" : "G", "H" : "H", "nr_ges_1" : "?", "nr_ges_2" : "?", "nr_ges_3" : "?"}
  29.    
  30.     for value in Buchstabenliste.items():
  31.         if value[1] == "?":
  32.             break
  33.         eingabe = random.randint(0,9)
  34.         Buchstabenliste[value[0]] = eingabe
  35.     return Buchstabenliste
  36.  
  37.  
  38. def ausgeben(Buchstabenliste):
  39.  
  40.     print(
  41.         '\n'
  42.         f'{Buchstabenliste["A"]} {Buchstabenliste["B"]} {Buchstabenliste["B"]} - {Buchstabenliste["C"]} {Buchstabenliste["D"]} = {Buchstabenliste["E"]} {Buchstabenliste["E"]} {Buchstabenliste["F"]} \n'
  43.         '  -      -      * \n'            
  44.         f' {Buchstabenliste["F"]} {Buchstabenliste["D"]}  + {Buchstabenliste["E"]} {Buchstabenliste["F"]} =  {Buchstabenliste["C"]} {Buchstabenliste["E"]} \n'
  45.         '  =      =      = \n'
  46.         f'{Buchstabenliste["E"]} {Buchstabenliste["G"]} {Buchstabenliste["D"]} * {Buchstabenliste["F"]} {Buchstabenliste["H"]} = {Buchstabenliste["nr_ges_1"]} {Buchstabenliste["nr_ges_2"]} {Buchstabenliste["nr_ges_3"]} \n'
  47.         )
  48.     pass
  49.  
  50.  
  51. def main():
  52.     i = 0
  53.     while True:
  54.         i += 1
  55.         Buchstabenliste = zahlen_zufall()
  56.         zahlen_test(Buchstabenliste)
  57.  
  58.         if Buchstabenliste["nr_ges_1"] != "?":
  59.             ausgeben(Buchstabenliste)
  60.             print(f"Eine mögliche Lösung wurde nach {i} Versuchen gefunden\n")
  61.             print(f"Buchstabe A: {Buchstabenliste['A']}, Buchstabe B: {Buchstabenliste['B']}, Buchstabe C: {Buchstabenliste['C']}, Buchstabe D: {Buchstabenliste['D']}, Buchstabe E: {Buchstabenliste['E']}, Buchstabe F: {Buchstabenliste['F']}, Buchstabe G: {Buchstabenliste['G']}, Buchstabe H: {Buchstabenliste['H']} \n")
  62.             break
  63.  
  64.    
  65. if __name__ == "__main__":
  66.     main()
  67.  
Add Comment
Please, Sign In to add comment