Wpis z mikrobloga

#naukaprogramowania #python

Zaczałem kurs na udemy 100 dni kodowania w pythonie. Mam pytania co do sposobu nauki:

Czasami mam problem do rozwiązania, który za #!$%@? nie wiem, jak do niego podejść. Teraz obecnie mam problem, żeby napisać program szyfrujący gdzie każda litera tekstu jest przesunieta do przodu w alfabecie czyli np tekst "abc" będzie wyglądać po zaszyfrowaniu "bcd".

I problem polega na tym że nie mam za #!$%@? pomysłu jak to zrobić i rozkminiam sobie to już jakieś 2h ponad xD, przeważnie wcześniej robiłem to tak, że jak długo nie mogłem czegoś wymyśleć to po prostu sobie zaglądałem do rozwiązania, potem robiłem sobie przerwe na kilka godzin i wracałem i próbowałem zadanie zrobić od nowa. Myślicie czy to jest dobry sposób? Raczej rzadko mi się to zdarza ale obawiam się że wraz z poziomem trudności będę to robić coraz częściej jak nie cały czas xD. Powinienem dalej główkować czy sobie zajrzeć?
  • 10
@qwewsik: A próbowałeś iterować po każdym znaku, zamienić go na wartość liczbową z tabeli ASCI, dodać 1, i zamienić na znak? Spróbuj najbardziej łopatologiczną metodą, żeby działało. A potem zacznij szukać lepszego rozwiązania, przy okazji szukania nauczysz się pewnie z 10 innych rzeczy, zupełnie nie związanych z problemem.

Ja tak na początku się uczyłem, może są lepsze metody. ( ͡° ͜ʖ ͡°)
@qwewsik: na poczatku IMO 15-20 min max i zagladasz do rozwiazania lub odkladasz na potem, nie ma co meczyc sie kilka godzin nad jakas #!$%@?.

Tutaj w prosty sposob mozesz np dicta i zipa i stworzyc sobie mapping typu a -> b, b -> c, etc, tylko uwazaj na case gdzie z -> a ( ͡° ͜ʖ ͡°)

hint 1


hint 2


hint 3


hint 4


Rozwiazanie
@zarev: wlasnie tak mysle zeby sobie robic i potem wlasnie wracac do zadania, a jak by sie zdarzyło że wszystkie zadania w jednym dniu musze tak rozwiazywać to po prostu nastepnego dnia robie wszystko od nowa
@qwewsik: Po co wyważać otwarte drzwi? Nauka polega na powtarzaniu pewnych ustalonych zbiorów rozwiązań aż do poziomu, kiedy masz ich w pamięci dostatecznie dużo, aby zacząć samemu generalizować.

Powinieneś więc szukać rozwiązań problemów. Zobaczyć na ile sposobów został już rozwiązany przez innych i uczyć się ich. W miarę postępu nauki sam zapewne będziesz mógł zaproponować własne, być może lepsze, rozwiązanie.
@qwewsik: Jeżeli jesteś samoukiem, to brakuje Ci formalnej wiedzy z wykładów, laborków i setek ćwiczeń, które robią studenci. Tam takie rzeczy są pokazywane jako przykłady i ludzie uczą się na nich generalizować.

Nikt nie wymyśla takich rzeczy od nowa. Albo czytasz książki i poznajesz takie rzeczy z książek, albo z kursów wideo, albo przerabiając sobie program studiów.

A najlepiej mieć mentora, który Ci pokaże, w którą stronę iść i jaki temat