Wpis z mikrobloga

Mam na studiach zajęcia na których używamy #python - ja nigdy wcześniej nie programowałem, nie zamierzam iść w tym kierunku, ale nie chce podchodzić do tematu na wyjebce i zacząłem sobie robić zadania na #codewars Rozwiązałem przed chwilą zadanie gdzie trzeba wziąć stringa i zwrócić listę w których każdy element ma 2 litery długości. Jeśli jest krótszy to trzeba dodać podkreślenie () na końcu. Ktoś mi jest w stanie wytłumaczyć w czym kod który jest oznaczony jako "best practices" jest lepszy? Oprócz tego, że jest krótszy o 2 linijki.
Mój kod:
https://pastebin.com/UWDRebvD

Best practices:
https://pastebin.com/db7p4S5A

I tu jeszcze kod który robi to samo, ale jest zapisany w jednej lini:
return [s[x:x+2] if x < len(s) - 1 else s[-1] + "
" for x in range(0, len(s), 2)]
Serio tak się piszę w korpo?
#naukaprogramowania
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BrakWolnegoLoginu:
1. Masz warunek zagnieżdzony w pętli czyli wykona się on tyle razy ile iteracji będzie, a w kodzie lepszym tylko raz się wykonuje.
2. Masz dziwny algorytm, że kasujesz ostatni element list a potem dodajesz już poprawiony element. Ciężej to rozkminić na pierwszy rzut oka

Ogólnie imo nie ma tragedii ale tutaj w twoim przypadku nie jest potrzebna pętla bo wystarczy, że sprawdzisz ostatni element listy zamiast wszystkie
  • Odpowiedz
  • 0
Ktoś mi jest w stanie wytłumaczyć w czym kod który jest oznaczony jako "best practices" jest lepszy? Oprócz tego, że jest krótszy o 2 linijki.


@BrakWolnegoLoginu: ja spróbuję :)

Oprócz wyżej wymienionej czytelności i powodów do użycia wrapera (zakładałem że chciałeś sobie poćwiczyć używanie wrapera ;)) to na korzyść "najlepszych praktyk" przemawia nieco inne spojrzenie na problem. Dla tego potrzebowałem treści zadania i danych testowych bo nie do końca po twoim
  • Odpowiedz
ja nigdy wcześniej nie programowałem, nie zamierzam iść w tym kierunku,


@BrakWolnegoLoginu: no to zacznij zamierzać. W najbliższych latach programowanie (niekoniecznie Python, ale jak umiesz w jednym to drugiego szybko się nauczysz) stanie się to standardem dla white collar tak jak pakiet Office.
  • Odpowiedz
@BrakWolnegoLoginu: dowiedzenie się nie jest trudne, ot masz tutaj dla SD więc zupełnie nie rozumiem Twojego zarzutu. To nie jest jakiś tajny przeciek z CIA tylko publikacje dostępne za darmo w Internetach. Tak tl;dr poczytaj o modelach generatywnych. Oczywiście te początkowe to jest trochę kopiuj-wklej, ale to 40 lat temu. Na przykład ta książeczka na start jest spoko. Jak liczyłeś że włożę teraz w portal z obrazkami dla ułomnych 5h
  • Odpowiedz