Решение на Навигация на Piet от Мария Симеонова

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

Към профила на Мария Симеонова

Резултати

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

Код

def calculate_final_vector(point, colours):
x, y = point
for colour in colours:
colour = colour.upper()
if colour == 'FFFFFF':
continue
elif colour == '000000':
break
elif colour == 'C0FFC0' or colour == 'C00000':
x -= 1
elif colour == '00C000' or colour == 'FFC0C0':
x += 1
elif colour == 'FFFFC0' or colour == '0000C0':
y -= 1
elif colour == 'C0C000' or colour == 'C0C0FF':
y += 1
return x, y

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

........
----------------------------------------------------------------------
Ran 8 tests in 0.084s

OK

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

Мария обнови решението на 23.10.2022 17:31 (преди над 1 година)

+def calculate_final_vector(point, colours):
+ x, y = point
+ for colour in colours:
+ colour = colour.upper()
+ if colour == 'FFFFFF':
+ continue
+ elif colour == '000000':
+ break
+ elif colour == 'C0FFC0':
+ x -= 1
+ elif colour == '00C000':
+ x += 1
+ elif colour == 'FFFFC0':
+ y -= 1
+ elif colour == 'C0C000':
+ y += 1
+ elif colour == 'FFC0C0':
+ x += 1
+ elif colour == 'C00000':
+ x -= 1
+ elif colour == 'C0C0FF':
+ y += 1
+ elif colour == '0000C0':
+ y -= 1
+ return (x, y)

Мария обнови решението на 25.10.2022 15:40 (преди над 1 година)

def calculate_final_vector(point, colours):
x, y = point
for colour in colours:
colour = colour.upper()
if colour == 'FFFFFF':
continue
elif colour == '000000':
break
- elif colour == 'C0FFC0':
+ elif colour == 'C0FFC0' or colour == 'C00000':
x -= 1
- elif colour == '00C000':
+ elif colour == '00C000' or colour == 'FFC0C0':
x += 1
- elif colour == 'FFFFC0':
+ elif colour == 'FFFFC0' or colour == '0000C0':
y -= 1
- elif colour == 'C0C000':
+ elif colour == 'C0C000' or colour == 'C0C0FF':
y += 1
- elif colour == 'FFC0C0':
- x += 1
+ return x, y
- elif colour == 'C00000':
- x -= 1
- elif colour == 'C0C0FF':
- y += 1
- elif colour == '0000C0':
- y -= 1
- return (x, y)