Решение на Навигация на Piet от Никола Михайлов

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

Към профила на Никола Михайлов

Резултати

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

Код

directions = {
'C0FFC0': (-1, 0),
'00C000': (1, 0),
'FFFFC0': (0, -1),
'C0C000': (0, 1),
'FFC0C0': (1, 0),
'C00000': (-1, 0),
'C0C0FF': (0, 1),
'0000C0': (0, -1),
'FFFFFF': (0, 0)
}
def calculate_final_vector(vct, directs):
coord_x, coord_y = vct
for direction in directs:
direction = direction.upper()
if direction == '000000':
break
else:
coord_x += directions[direction][0]
coord_y += directions[direction][1]
return coord_x, coord_y

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

........
----------------------------------------------------------------------
Ran 8 tests in 0.083s

OK

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

Никола обнови решението на 22.10.2022 19:58 (преди около 2 години)

+directions = {
+ 'C0FFC0': (-1, 0),
+ '00C000': (1, 0),
+ 'FFFFC0': (0, -1),
+ 'C0C000': (0, 1),
+ 'FFC0C0': (1, 0),
+ 'C00000': (-1, 0),
+ 'C0C0FF': (0, 1),
+ '0000C0': (0, -1),
+ 'FFFFFF': (0, 0)
+}
+
+
+def calculate_final_vector(vct, directs):
+ coord_x = vct[0]
+ coord_y = vct[1]
+
+ for direction in directs:
+ direction = direction.upper()
+ if direction == '000000':
+ break
+ else:
+ coord_x += directions[direction][0]
+ coord_y += directions[direction][1]
+
+ return coord_x, coord_y

Никола обнови решението на 24.10.2022 21:40 (преди около 2 години)

directions = {
'C0FFC0': (-1, 0),
'00C000': (1, 0),
'FFFFC0': (0, -1),
'C0C000': (0, 1),
'FFC0C0': (1, 0),
'C00000': (-1, 0),
'C0C0FF': (0, 1),
'0000C0': (0, -1),
'FFFFFF': (0, 0)
}
def calculate_final_vector(vct, directs):
- coord_x = vct[0]
- coord_y = vct[1]
+ coord_x, coord_y = vct
for direction in directs:
direction = direction.upper()
if direction == '000000':
break
else:
coord_x += directions[direction][0]
coord_y += directions[direction][1]
return coord_x, coord_y