Симеон обнови решението на 25.10.2022 13:02 (преди около 2 години)
+def calculate_final_vector(cor, colors: list[str]):
+
+ up_colors=[]
+ cord=[cor[0], cor[1]]
Това става по-лесно, използвайки list - cord = list(cor)
.
+
+ 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
Съветвам те да прочетеш PEP8. Около операторите в Python e редно да се оставят спейсове.
+ 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])
При return стейтмънт нямаш нужда от скобите. return cord[0], cord[1]
или return tuple(cord)
вършат същата работа.
Това става по-лесно, използвайки list -
cord = list(cor)
.Целият фор, заедно с инициализацията на празен списък по-горе може да бъде заместено с list comprehension.
Comprehension-ите са чудесен идиом и са изключително Pythonic.
i е кофти име за променлива, освен ако тази променлива не е индекс. В случая не е голям проблем, защото се използва точно веднъж след for-а, но по принцип е валидно притеснение.
Съветвам те да прочетеш PEP8. Около операторите в Python e редно да се оставят спейсове.
При return стейтмънт нямаш нужда от скобите.
return cord[0], cord[1]
илиreturn tuple(cord)
вършат същата работа.