Rozwiązany
Czy and sprawdza drugi warunek, gdy pierwszy jest fałszywy?
Autor
Mam if lista and lista[0] > 5: i działa nawet dla pustej listy. Dlaczego nie ma błędu indeksu?
Komentarze 4
Zaloguj się, żeby dołączyć do dyskusji.
Zaloguj się Załóż kontoTo tzw. short-circuit:
andprzestaje sprawdzać, gdy pierwszy warunek jest fałszywy, bo wynik i tak będzie False. Pusta lista jest fałszywa, więclista[0]w ogóle się nie wykonuje.ordziała analogicznie: kończy na pierwszej prawdzie.Czyli kolejność warunków ma znaczenie. Super, dzięki.
Tylko nie przesadzaj, długie łańcuchy and/or z efektami ubocznymi są trudne do czytania.
Często się tego używa celowo właśnie do zabezpieczenia przed błędem, tak jak w Twoim kodzie.