Роберт обнови решението на 24.10.2022 22:45 (преди около 2 години)
+def calculate_final_vector(coordinates, colors):
+ rules = {'C0FFC0': 'l', 'FFFFC0': 'd', 'FFC0C0': 'r', 'C0C0FF': 'u', '00C000': 'r', 'C0C000': 'u', 'C00000': 'l',
+ '0000C0': 'd',
+ '000000': 'e', 'FFFFFF': 's'}
+ x = coordinates[0]
Единствената ми забележка е тук.
x, y = coordinates
е напълно валиден и pythonic идиом.
+ y = coordinates[1]
+ for color in colors:
+ if rules[color.upper()] == 's': # skip
+ continue
+ if rules[color.upper()] == 'e': # end
+ break
+ if rules[color.upper()] == 'r': # right
+ x += 1
+ elif rules[color.upper()] == 'l': # left
+ x -= 1
+ elif rules[color.upper()] == 'd': # down
+ y -= 1
+ elif rules[color.upper()] == 'u': # up
+ y += 1
+
+ return x, y
Единствената ми забележка е тук.
x, y = coordinates
е напълно валиден и pythonic идиом.