Решение на Навигация на Piet от Цветан Тошев

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

Към профила на Цветан Тошев

Резултати

  • 3 точки от тестове
  • 0 бонус точки
  • 3 точки общо
  • 2 успешни тест(а)
  • 6 неуспешни тест(а)

Код

def calculate_final_vector(vector, path_colours):
move_x = {'c0ffc0': -1,'ffcoco': 1,'00c000': 1,'c00000': -1}
move_y = {'ffffc0': -1,'c0c0ff': 1,'c0c000': 1,'0000c0': -1}
colours = [n.lower() for n in path_colours]
new_vector = list(vector)
for colour in colours:
if colour == '000000':
break
if colour == 'ffffff':
continue
if colour in move_x:
new_vector[0] += move_x[colour]
elif colour in move_y:
new_vector[1] += move_y[colour]
return tuple(new_vector)

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

FF.FF.FF
======================================================================
FAIL: test_a_metric_shit_ton_of_hexes (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (-142, 42) != (-42, 42)

First differing element 0:
-142
-42

- (-142, 42)
?   -

+ (-42, 42)

======================================================================
FAIL: test_black_stops (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (0, 0) != (3, 0)

First differing element 0:
0
3

- (0, 0)
?  ^

+ (3, 0)
?  ^


======================================================================
FAIL: test_mixed_case (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (0, 2) != (2, 2)

First differing element 0:
0
2

- (0, 2)
?  ^

+ (2, 2)
?  ^


======================================================================
FAIL: test_negative_step (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (0, 0) != (1, 0)

First differing element 0:
0
1

- (0, 0)
?  ^

+ (1, 0)
?  ^


======================================================================
FAIL: test_starting_vector (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (8998, 0) != (9001, 0)

First differing element 0:
8998
9001

- (8998, 0)
+ (9001, 0)

======================================================================
FAIL: test_white_ignored (test.TestCalculateFinalVector)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread
    raise result
AssertionError: Tuples differ: (0, 0) != (4, 0)

First differing element 0:
0
4

- (0, 0)
?  ^

+ (4, 0)
?  ^


----------------------------------------------------------------------
Ran 8 tests in 0.140s

FAILED (failures=6)

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

Цветан обнови решението на 24.10.2022 21:04 (преди над 1 година)

+def calculate_final_vector(vector, path_colours):
+ move_x = {'c0ffc0': -1,'ffcoco': 1,'00c000': 1,'c00000': -1}
+ move_y = {'ffffc0': -1,'c0c0ff': 1,'c0c000': 1,'0000c0': -1}
+ colours = [n.lower() for n in path_colours]
+
+ new_vector = list(vector)
+
+ for colour in colours:
+ if(colour == '000000'):
+ break
+ if(colour == 'ffffff'):
+ continue
+ if(colour in move_x):
+ new_vector[0] += move_x[colour]
+ elif(colour in move_y):
+ new_vector[1] += move_y[colour]
+
+ return tuple(new_vector)

Цветан обнови решението на 25.10.2022 11:40 (преди над 1 година)

def calculate_final_vector(vector, path_colours):
move_x = {'c0ffc0': -1,'ffcoco': 1,'00c000': 1,'c00000': -1}
move_y = {'ffffc0': -1,'c0c0ff': 1,'c0c000': 1,'0000c0': -1}
colours = [n.lower() for n in path_colours]
new_vector = list(vector)
for colour in colours:
- if(colour == '000000'):
+ if colour == '000000':
break
- if(colour == 'ffffff'):
+ if colour == 'ffffff':
continue
- if(colour in move_x):
+ if colour in move_x:
new_vector[0] += move_x[colour]
- elif(colour in move_y):
+ elif colour in move_y:
new_vector[1] += move_y[colour]
return tuple(new_vector)