Николай обнови решението на 30.10.2022 11:49 (преди над 2 години)
Не съм убеден, че е лесно да приложиш точно в този код, но обикновено при нужда от елемента и индекса му, се използва enumerate
:
for index, num in enumerate(nums):
<do some stuff with index and num>
Просто си спестяваш ръчното инкрементиране на индекса и взимането на елемент с този индекс от колекцията.
Когато сравняваме със сингълтъни като None
, правим го с is
:
if BUTTONS.get(nums[current_index]) is None
Добро решение.
Бих обърнал внимание на празните редове. В момента имаш по един празен ред м/у всяка функция, което е напълно вярно. Имаш, обаче, доста празни редове вътре в самите функции, което прави трудно разграничаването на начало/край на дадена функция. Ако в тялото на функциите си нямаш никакви празни редове, или поне не толкова много, ще можеш с един погледн да се ориентираш в кода си.
ПП: Това, че си слагал нови редове във функциите си, не е в разрез с нито едно общоприето правило, така че е напълно валидно. Просто споделям субективно мнение, така че можеш спокойно да го игнорираш. ако не си съгласен.
При мен явно е точно обратното, защото нямам ли празни редове в тялото на функциите ми е доста трудно да проследя кода особено, ако нямам { } определящи scope-a :D. Съгласен съм обаче, че на някои места могат да се премахнат новите редове.
Не съм убеден, че е лесно да приложиш точно в този код, но обикновено при нужда от елемента и индекса му, се използва
enumerate
:Просто си спестяваш ръчното инкрементиране на индекса и взимането на елемент с този индекс от колекцията.