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

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

Към профила на Симеон Йорданов

Резултати

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

Код

def calculate_final_vector(cor, colors: list[str]):
up_colors=[]
cord=[cor[0], cor[1]]
for i in colors:

Целият фор, заедно с инициализацията на празен списък по-горе може да бъде заместено с list comprehension.
Comprehension-ите са чудесен идиом и са изключително Pythonic.

up_colors.append(i.upper())
for i in up_colors:

i е кофти име за променлива, освен ако тази променлива не е индекс. В случая не е голям проблем, защото се използва точно веднъж след for-а, но по принцип е валидно притеснение.

match i:
case "C0FFC0":
cord[0]-=1
case "00C000":
cord[0]+=1
case "FFFFC0":
cord[1]-=1
case "C0C000":
cord[1]+=1
case "FFC0C0":
cord[0]+=1
case "C00000":
cord[0]-=1
case "C0C0FF":
cord[1]+=1
case "0000C0":
cord[1]-=1
case "000000":
return (cord[0], cord[1])
return (cord[0], cord[1])

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

........
----------------------------------------------------------------------
Ran 8 tests in 0.093s

OK

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

Симеон обнови решението на 25.10.2022 13:02 (преди над 1 година)

+def calculate_final_vector(cor, colors: list[str]):
+
+ up_colors=[]
+ cord=[cor[0], cor[1]]
+
+ for i in colors:

Целият фор, заедно с инициализацията на празен списък по-горе може да бъде заместено с list comprehension.
Comprehension-ите са чудесен идиом и са изключително Pythonic.

+ up_colors.append(i.upper())
+
+ for i in up_colors:

i е кофти име за променлива, освен ако тази променлива не е индекс. В случая не е голям проблем, защото се използва точно веднъж след for-а, но по принцип е валидно притеснение.

+
+ match i:
+ case "C0FFC0":
+ cord[0]-=1
+ case "00C000":
+ cord[0]+=1
+ case "FFFFC0":
+ cord[1]-=1
+ case "C0C000":
+ cord[1]+=1
+ case "FFC0C0":
+ cord[0]+=1
+ case "C00000":
+ cord[0]-=1
+ case "C0C0FF":
+ cord[1]+=1
+ case "0000C0":
+ cord[1]-=1
+ case "000000":
+ return (cord[0], cord[1])
+
+ return (cord[0], cord[1])