Решение на Навигация на Piet от Таня Сейкова

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

Към профила на Таня Сейкова

Резултати

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

Код

def move(color):
if color == 'C0FFC0': #light-green
return (-1, 0)
if color == '00C000': #dark-green
return (1, 0)
if color == 'FFFFC0': #light-yellow
return (0, -1)
if color == 'C0C000': #dark-yellow
return (0, 1)
if color == 'FFC0C0': #light-red
return (1, 0)
if color == 'C00000': #dark-red
return (-1, 0)
if color == 'C0C0FF': #light-blue
return (0, 1)
if color == '0000C0': #dark-blue
return (0, -1)
if color == 'FFFFFF': #white
return (0, 0)
def calculate_final_vector(begin_pos, colors):
res = begin_pos
for color in colors:
color = color.upper()
if color == '000000':
break
move_step = move(color)
res = (res[0] + move_step[0], res[1] + move_step[1])
return res

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

........
----------------------------------------------------------------------
Ran 8 tests in 0.107s

OK

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

Таня обнови решението на 23.10.2022 15:55 (преди над 1 година)

+def move(color):
+ if color == 'C0FFC0': #light-green
+ return (-1, 0)
+ if color == '00C000': #dark-green
+ return (1, 0)
+ if color == 'FFFFC0': #light-yellow
+ return (0, -1)
+ if color == 'C0C000': #dark-yellow
+ return (0, 1)
+ if color == 'FFC0C0': #light-red
+ return (1, 0)
+ if color == 'C00000': #dark-red
+ return (-1, 0)
+ if color == 'C0C0FF': #light-blue
+ return (0, 1)
+ if color == '0000C0': #dark-blue
+ return (0, -1)
+ if color == 'FFFFFF': #white
+ return (0, 0)
+
+
+def calculate_final_vector(beginPos, colors):
+ res = beginPos
+
+ for color in colors:
+ color = color.upper()
+ if color == '000000':
+ break
+ moveStep = move(color)
+ res = (res[0] + moveStep[0], res[1] + moveStep[1])
+
+ return res
+

Таня обнови решението на 24.10.2022 21:55 (преди над 1 година)

def move(color):
if color == 'C0FFC0': #light-green
return (-1, 0)
if color == '00C000': #dark-green
return (1, 0)
if color == 'FFFFC0': #light-yellow
return (0, -1)
if color == 'C0C000': #dark-yellow
return (0, 1)
if color == 'FFC0C0': #light-red
return (1, 0)
if color == 'C00000': #dark-red
return (-1, 0)
if color == 'C0C0FF': #light-blue
return (0, 1)
if color == '0000C0': #dark-blue
return (0, -1)
if color == 'FFFFFF': #white
return (0, 0)
-def calculate_final_vector(beginPos, colors):
- res = beginPos
+def calculate_final_vector(begin_pos, colors):
+ res = begin_pos
for color in colors:
color = color.upper()
if color == '000000':
break
- moveStep = move(color)
- res = (res[0] + moveStep[0], res[1] + moveStep[1])
+ move_step = move(color)
+ res = (res[0] + move_step[0], res[1] + move_step[1])
return res
-