Решение на Навигация на Piet от Гергана Гочева

Обратно към всички решения

Към профила на Гергана Гочева

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 8 успешни тест(а)
  • 0 неуспешни тест(а)

Код

def calculate_final_vector(vector, colours):
first_coordinate = vector[0]
second_coordinate = vector[1]
colours = [colour.upper() for colour in colours]
for colour in colours:
if colour == 'FFFFFF':
continue
elif colour == '000000':
break
elif colour == 'C0FFC0' or colour == 'C00000':
first_coordinate -= 1
elif colour == 'FFFFC0' or colour == '0000C0':
second_coordinate -= 1
elif colour == 'FFC0C0' or colour == '00C000':
first_coordinate += 1
elif colour == 'C0C0FF' or colour == 'C0C000':
second_coordinate += 1
return (first_coordinate, second_coordinate)

Лог от изпълнението

........
----------------------------------------------------------------------
Ran 8 tests in 0.089s

OK

История (1 версия и 1 коментар)

Гергана обнови решението на 20.10.2022 22:38 (преди около 2 години)

+def calculate_final_vector(vector, colours):
+ first_coordinate = vector[0]
+ second_coordinate = vector[1]
+ colours = [colour.upper() for colour in colours]
+ for colour in colours:
+ if colour == 'FFFFFF':
+ continue
+ elif colour == '000000':
+ break
+ elif colour == 'C0FFC0' or colour == 'C00000':
+ first_coordinate -= 1
+ elif colour == 'FFFFC0' or colour == '0000C0':
+ second_coordinate -= 1
+ elif colour == 'FFC0C0' or colour == '00C000':
+ first_coordinate += 1
+ elif colour == 'C0C0FF' or colour == 'C0C000':
+ second_coordinate += 1
+
+ return (first_coordinate, second_coordinate)

Unpack-ването на координатите може (и не е неугледно) да стане на 1 ред, скобите в return-а са излишни, но отвъд тези дребни забележки, нямам за какво да се хвана.
Браво. :)