Решение на Навигация на Piet от Цветелина Чакърова

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

Към профила на Цветелина Чакърова

Резултати

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

Код

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

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

........
----------------------------------------------------------------------
Ran 8 tests in 0.087s

OK

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

Цветелина обнови решението на 21.10.2022 13:27 (преди около 2 години)

+def calculate_final_vector(starting_vector, colors):
+ x = starting_vector[0]
+ y = starting_vector[1]
+
+ for color in colors:
+ upper_color = color.upper()
+ if upper_color == 'C0FFC0' or upper_color == 'C00000':
+ x = x - 1
+ elif upper_color == '00C000' or upper_color == 'FFC0C0':
+ x = x + 1
+ elif upper_color == 'FFFFC0' or upper_color == '0000C0':
+ y = y - 1
+ elif upper_color == 'C0C000' or upper_color == 'C0C0FF':
+ y = y + 1
+ elif upper_color == 'FFFFFF':
+ continue
+ elif upper_color == '000000':
+ break
+
+ return x, y

Цветелина обнови решението на 24.10.2022 23:38 (преди около 2 години)

def calculate_final_vector(starting_vector, colors):
- x = starting_vector[0]
- y = starting_vector[1]
+ x, y = starting_vector
for color in colors:
upper_color = color.upper()
if upper_color == 'C0FFC0' or upper_color == 'C00000':
x = x - 1
elif upper_color == '00C000' or upper_color == 'FFC0C0':
x = x + 1
elif upper_color == 'FFFFC0' or upper_color == '0000C0':
y = y - 1
elif upper_color == 'C0C000' or upper_color == 'C0C0FF':
y = y + 1
elif upper_color == 'FFFFFF':
continue
elif upper_color == '000000':
break
return x, y