Advertisement
magneto903

translator from machine to human

Jun 21st, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.07 KB | None | 0 0
  1. def translate(code):
  2.     colors1 = ['аметистовый', 'бежевый', 'белый',
  3.            'бирюзовый', 'бордовый', 'васильковый',
  4.            'желтый', 'зеленый', 'золотистый', 'изумрудный',
  5.            'коралловый', 'коричневый', 'красный', 'кремовый',
  6.            'лавандовый', 'лиловый', 'медовый', 'мятный',
  7.            'оранжевый', 'салатовый', 'серебристый', 'серый',
  8.            'синий', 'сиреневый', 'фиолетовый', 'черный', 'янтарный']
  9.  
  10.     colors2 = ['аметистового', 'бежевого', 'белого',
  11.            'бирюзового', 'бордового', 'василькового',
  12.            'желтого', 'зеленого', 'золотистого', 'изумрудного',
  13.            'кораллового', 'коричневого', 'красного', 'кремового',
  14.            'лавандового', 'лилового', 'медового', 'мятного',
  15.            'оранжевого', 'салатового', 'серебристого', 'серого',
  16.            'синего', 'сиреневого', 'фиолетового', 'черного', 'янтарного']
  17.  
  18.     colors = [colors1, colors2, [676, 776, 555, 677, 577, 657, 556, 566,
  19.                              766, 665, 775, 655, 557, 765, 767, 666,
  20.                              755, 757, 667, 567, 656, 675, 565, 576,
  21.                              575, 777, 756
  22.                              ]]
  23.     shapes = [["треугольник", "четырехугольник",  
  24.            "пятиугольник", "шестиугольник",
  25.            "семиугольник", "восьмиугольник",
  26.            "девятиугольник", "десятиугольник",
  27.            "одиннадцатиугольник"],
  28.           ["треугольника", "четырехугольника",  
  29.            "пятиугольника", "шестиугольника",
  30.            "семиугольника", "восьмиугольника",
  31.            "девятиугольника", "десятиугольника",
  32.            "одиннадцатиугольника"],
  33.           [["000", "111", "222"],
  34.            ["022", "100", "211"],
  35.            ["011", "200", "122"],
  36.            ["010", "121", "202"],
  37.            ["020", "101", "212"],
  38.            ["001", "112", "220"],
  39.            ["002", "110", "221"],
  40.            ["012", "021", "102"],
  41.            ["120", "201", "210"]]
  42.     ]
  43.    
  44.     # поймем, снизу-сверху или слева-справа
  45.     if '0' not in code[6:9] and '1' not in code[6:9] and '2' not in code[6:9]:
  46.         # сверху-снизу
  47.         shape_1_code = code[0] + code[2] + code[4]
  48.         color_1_code = code[6] + code[8] + code[10]
  49.         shape_2_code = code[1] + code[3] + code[5]
  50.         color_2_code = code[7] + code[9] + code[11]
  51.        
  52.         shape_1 = 0
  53.         color_1 = 0
  54.         shape_2 = 0
  55.         color_2 = 0
  56.        
  57.         for i in range(9):
  58.             if shape_1_code in shapes[2][i]:
  59.                 shape_1 = shapes[0][i]
  60.                
  61.         for i in range(27):
  62.             if int(color_1_code) == colors[2][i]:
  63.                 color_1 = colors[0][i]
  64.                
  65.         for i in range(9):
  66.             if shape_2_code in shapes[2][i]:
  67.                 shape_2 = shapes[1][i]
  68.                
  69.         for i in range(27):
  70.             if int(color_2_code) == colors[2][i]:
  71.                 color_2 = colors[1][i]
  72.                
  73.         stroka1 = "{} {} {} сверху от {} {}".format(code,color_1, shape_1, color_2, shape_2)
  74.         stroka2 = "{} {} {} снизу от {} {}".format(code, colors[0][colors[1].index(color_2)], shapes[0][shapes[1].index(shape_2)], colors[1][colors[0].index(color_1)], shapes[1][shapes[0].index(shape_1)])
  75.        
  76.         return [stroka1, stroka2]
  77.     else:
  78.         # слева-справа
  79.         shape_1 = 0
  80.         color_1 = 0
  81.         shape_2 = 0
  82.         color_2 = 0
  83.        
  84.         for i in range(9):
  85.             if code[:3] in shapes[2][i]:
  86.                 shape_1 = shapes[0][i]
  87.                
  88.         for i in range(27):
  89.             if int(code[3:6]) == colors[2][i]:
  90.                 color_1 = colors[0][i]
  91.                
  92.         for i in range(9):
  93.             if code[6:9] in shapes[2][i]:
  94.                 shape_2 = shapes[1][i]
  95.                
  96.         for i in range(27):
  97.             if int(code[9:12]) == colors[2][i]:
  98.                 color_2 = colors[1][i]
  99.                
  100.         stroka1 = "{} {} {} слева от {} {}".format(code,color_1, shape_1, color_2, shape_2)
  101.         stroka2 = "{} {} {} справа от {} {}".format(code, colors[0][colors[1].index(color_2)], shapes[0][shapes[1].index(shape_2)], colors[1][colors[0].index(color_1)], shapes[1][shapes[0].index(shape_1)])
  102.        
  103.         return [stroka1, stroka2]
  104.    
  105.    
  106. print(translate("001202757566"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement