Porównania i logika

Preview Mode

You're viewing this material in preview mode. Sign up to track your progress and access all features.

Porównania i logika
Required In Progress

Python • kurs podstawowy • lekcja 09

Porównania i logika

Do rundy przechodzą osoby z co najmniej 10 punktami i biletem.

Twój cel: Zbudujesz warunek logiczny z porównań i sprawdzisz jego granice.

Porównywanie liczb i wartości bool.

Od potrzeby do kodu

Każdy wymóg zapisujemy osobno, a potem łączymy. == porównuje wartości, != oznacza nierówność, < i > ostre granice, a <= i >= dopuszczają równość.

W tym materiale łączymy wartości bool. and daje True, gdy oba warunki są prawdziwe; or gdy przynajmniej jeden jest prawdziwy, także oba naraz. not odwraca wartość logiczną. Nawiasy pomagają czytać dłuższy warunek.

Przypisanie = zmienia powiązanie nazwy, a porównanie == daje odpowiedź. Zakres 10–20 z końcami można zapisać 10 <= points <= 20. Zawsze sprawdzaj wartości na granicy i tuż obok niej. None sprawdzamy przez is None: dzięki temu nie mylimy braku wyniku z zerem.

Przewidź przed uruchomieniem

points = 10
has_ticket = False
print(points >= 10)
print(points >= 10 and has_ticket)
print(points >= 10 or has_ticket)
print(not has_ticket)
Porównaj wynik i prześledź mechanizm
Warunek opisuje regułę. Testuj końce przedziału i sytuacje, gdy spełniona jest tylko część wymagań.
Warunek opisuje regułę. Testuj końce przedziału i sytuacje, gdy spełniona jest tylko część wymagań.

True, False, True, True. Próg punktów jest spełniony, lecz biletu nie ma. and wymaga obu warunków; or dopuszcza jeden prawdziwy. not False daje True.

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

True
False
True
True
A B A and B A or B
False False False False
False True False True
True False False True
True True True True
Model do prześledzenia: porównaj każdy etap z kodem. Etykiety opisują znaczenie danych, nie tylko ich wygląd.

Zmień działający program

Zbuduj warunek dopuszczający wyniki od 10 do 20 włącznie. Sprawdź wynik 20 i 21.

Pierwsza wskazówka

Zachowaj działający punkt wyjścia. Zlokalizuj konstrukcję wskazaną w poleceniu i zmień tylko ten etap. Przed uruchomieniem zapisz oczekiwany efekt.

Porównaj swoją modyfikację
points = 20
print(10 <= points <= 20)
points = 21
print(10 <= points <= 20)

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

True
False

Znajdź przyczynę problemu

Celowo błędny przykład diagnostyczny. Najpierw postaw hipotezę. Nie kopiuj tej wersji jako poprawnego rozwiązania.

Zamierzone działanie: Sprawdź przedział od 10 do 20 włącznie.

points = 100
print(points >= 10 or points <= 20)
Trop do diagnozy

Porównaj zamierzony rezultat z typami, nazwami i kolejnością instrukcji. Wskaż pierwsze miejsce, w którym zachowanie odbiega od celu.

Zastosuj w nowej sytuacji

Wskazówka do rozpoczęcia

Warunek opisuje regułę. Testuj końce przedziału i sytuacje, gdy spełniona jest tylko część wymagań.

Zacznij od przygotowania danych. Pierwsza instrukcja przykładowego rozwiązania:

has_card = True
Rozwiązanie do samodzielnej kontroli
has_card = True
has_debt = False
print(has_card and not has_debt)

Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:

True

Porównaj dane wejściowe, wynik i powód użycia konstrukcji. Inna wersja kodu jest poprawna, jeśli realizuje te same wymagania.

Co zabierasz do kolejnego programu?

Warunek opisuje regułę. Testuj końce przedziału i sytuacje, gdy spełniona jest tylko część wymagań.

Bez zaglądania do przykładu wyjaśnij własnymi słowami, jak główna konstrukcja prowadzi od danych do wyniku. Potem sprawdź wyjaśnienie, uruchamiając swój program.