Operatory matematyczne

Preview Mode

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

Operatory matematyczne
Required In Progress

Python • kurs podstawowy • lekcja 08

Operatory matematyczne

Masz 17 kart i wkładasz po 5 do koperty.

Twój cel: Obliczysz pełne grupy i resztę oraz odróżnisz /, //, % i **.

Zmienne i liczby.

Co ma zrobić program?

/ daje iloraz, // iloraz zaokrąglony w dół, a % resztę. Dla dodatnich liczb całkowitych // odpowiada liczbie pełnych grup. Reszta mówi, ile kart nie trafiło do pełnej grupy.

Nie opisuj // jako samego obcięcia cyfr po kropce: -7 // 2 daje -4, czyli zaokrąglenie w stronę minus nieskończoności. Dla dodatnich danych łatwo tego nie zauważyć. Dzielenie przez zero jest niedozwolone.

Podstawowe operatory to +, -, * i /. Potęgowanie zapisujemy **, np. 3 ** 2. Mnożenie i dzielenie mają pierwszeństwo przed dodawaniem; nawiasy pozwalają zmienić kolejność. W przykładach używamy małych liczb, by dało się niezależnie sprawdzić rachunek.

Przewidź przed uruchomieniem

cards = 17
capacity = 5
print(cards / capacity)
print(cards // capacity)
print(cards % capacity)
print(2 + 3 * 4)
Porównaj wynik i prześledź mechanizm
Dla dodatnich danych: liczba = pełne grupy * rozmiar grupy + reszta.
Dla dodatnich danych: liczba = pełne grupy * rozmiar grupy + reszta.

3.4, 3, 2 oraz 14. Trzy pełne koperty mieszczą 15 kart, pozostają 2. W ostatnim wyrażeniu najpierw mnożymy 3 * 4, a potem dodajemy 2.

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

3.4
3
2
14
Wielkość Obliczenie Wynik
Pełne grupy 17 // 5 3
Karty w grupach 3 * 5 15
Pozostałe karty 17 % 5 2
Kontrola 15 + 2 17
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

Dodaj nawiasy tak, aby suma 2 + 3 była mnożona przez 4. Oblicz również kwadrat 5.

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ę
print((2 + 3) * 4)
print(5 ** 2)

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

20
25

Znajdź przyczynę problemu

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

Zamierzone działanie: Policz pełne godziny w 125 minutach.

minutes = 125
hours = minutes / 60
print(hours)
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

Dla dodatnich danych: liczba = pełne grupy * rozmiar grupy + reszta.

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

seconds = 367
Rozwiązanie do samodzielnej kontroli
seconds = 367
print(seconds // 60)
print(seconds % 60)

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

6
7

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?

Dla dodatnich danych: liczba = pełne grupy * rozmiar grupy + reszta.

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.