Czemu gdy wywołuje funkcję z zmienną lessonarray równą podanej na początku tablicy, showcurrentonly równą True i showdaysinline(tak, poprawiłem już podwójne __) równą False nie pokazuje mi żadnego dnia? #programowanie #python
@krzys0000: Dzięki. Mam wrażenie, że w którymś z poprzednich języków co się bawiłem break działał tak jak contine, ale to może tylko moje #!$%@? xD Nawet w dokumentacji jest:
The continue statement, also borrowed from C, continues with the next iteration of the loop:
for day in lesson_array: for lesson in day[1:]: # nazwa tygodnia wmieszana w pozostałe elementy też jest niezbyt "pytoniczna" # costam Iterowanie po dowolnej kolekcji zwraca po kolei jej elementy, elementami mogą być też kolekcje. Tutaj tylko uważaj ze słownikami, one też plują elementami po kolei, tylko kolejność zależy od hasha jaki ma klucz :)
@Leinnan: tak, musiałbyś napisać od nowa część kodu. czytelniejszy kod byłby wtedy, taka dwuwymiarowa tablica krotek to średnie wykonanie. ja bym na twoim miejscu zdefiniował co najmniej klasę Day i utworzył obiekty w niej, np. wyciągając dane z pliku, jakbyś chciał to profesjonalnie zrobić to musiałbyś dodać jeszcze interfejsy, obsługę wejścia, wyjścia, klasy(klasę), ale oczywiście nie każe ci tego robić, tylko informuję ( ͡°͜ʖ͡°)
Czemu gdy wywołuje funkcję z zmienną lessonarray równą podanej na początku tablicy, showcurrentonly równą True i showdaysinline(tak, poprawiłem już podwójne __) równą False nie pokazuje mi żadnego dnia?
#programowanie #python
continue
przerywasz całą pętlębreak
iemJeszcze raz dzieki.
W Pythonie nie piszemy pętli w stylu z C:
for i in range(0, len(t)):
costam(t[i])
zamiast tego iterujemy bezpośrednio po elementach kolekcji:
for el in t:
costam(el)
jeżeli potrzebujesz indeksu aktualnego elementu wtedy używasz builtina
enumerate
, o tak:for el, idx in enumerate(t):
costam(idx, el)
@krzys0000: Z tym, że to chyba bardziej gdy masz jednowymiarową tablicę, a nie dwu.
dla przykładu Twoja tablica:
for day in lesson_array:
for lesson in day[1:]: # nazwa tygodnia wmieszana w pozostałe elementy też jest niezbyt "pytoniczna"
# costam
Iterowanie po dowolnej kolekcji zwraca po kolei jej elementy, elementami mogą być też kolekcje.
Tutaj tylko uważaj ze słownikami, one też plują elementami po kolei, tylko kolejność zależy od hasha jaki ma klucz :)
lessonarray skonstruowałbym raczej w ten sposób:
lesson_array =