Евтим обнови решението на 24.10.2022 19:41 (преди около 2 години)
+import operator
+
+colors_and_movements = {"C0FFC0":(-1,0),"00C000":(1,0),
+ "FFFFC0":(0,-1),"C0C000":(0,1),
2-3 интервала по-навътре и ще подравниш с останалите редове, постигайки спокойствие за ОКР хора като мен. Слагай интервали след запетаите.
-
+ "FFC0C0":(1,0),"C00000":(-1,0),
+ "C0C0FF":(0,1),"0000C0":(0,-1),
+ "FFFFFF":(0,0),"000000":"End"}
"000000":"End"
не се използва.
+
+def calculate_next_position(current_position, current_code):
+ return tuple(map(operator.add,current_position, colors_and_movements.get(current_code)))
+
+def calculate_final_vector(start_position, list_of_hex_codes):
+ current_position = start_position
+ for code in list_of_hex_codes:
+ code = code.upper()
+ if code == "000000":
+ return current_position
+ else:
+ current_position = calculate_next_position(current_position,code)
+ return current_position