Lekcja 7 składa się z trzech części A, B, C, które można wykonać w dowolnej kolejności.
Do tej pory wykonaliśmy obliczenia matematyczne przy użyciu operatorów Pythona +
, -
, *
, /
i funkcji max
i min
. W tej lekcji zobaczymy więcej operatorów i funkcji oraz nauczymy się wykonywać bardziej skomplikowane obliczenia.
Operatory Matematyczne
Widzieliśmy już jak używać operatory dodawania (a + b
), odejmowania (a - b
), mnożenia (a * b
) i dzielenia (a / b
). Poznamy teraz trzy dodatkowe operatory.
- Operator potęgi
a ** b
obliczaab
(a
pomnożone przez siebieb
razy); np.2 ** 3
daje8
(czyli 2 × 2 × 2). - Operator dzielenia całkowitego
a // b
oblicza "iloraz"a
dzielonego przezb
i ignoruje resztę; np.14 // 3
daje4
. - Operator modulo
a % b
oblicza resztę z dzieleniaa
przezb
; np.14 % 3
wynosi2
.
Operator modulo jest używany do różnych zadań. Może być użyty do odpowiedzi na takie pytania jak:
- Jeśli teraz jest godzina dziesiąta, to która będzie za 100 godzin, licząc od teraz? (wymaga użycia modulo 12)
- Czy rok 2032 będzie rokiem przestępnym? (wymaga użycia modulo 4, 100 i 400)
Sprawdzanie lat przestępnych jest przykładem testu na podzielność; w następnym ćwiczeniu poprosimy cię o napisanie programu, który ogólnie sprawdza podzielność.
Funkcje Matematyczne
Python może dokonać obliczenia większości funkcji matematycznych, które znajdują się w kalkulatorze naukowym.
sqrt(x)
oblicza pierwiastek kwadratowy z liczbyx
.exp(x)
ilog(x)
to funkcja wykładnicza (z podstawą: e) i logarytm naturalny.sin(x)
,cos(x)
,tan(x)
i inne funkcje trygonometryczne.pi
stała matematyczna3.1415...
jest również uwzględniona.
Kiedy używasz funkcji trygonometrycznych Pythnie, kąt x musi być wyrażony w radianach, a nie w stopniach. |
Python zawiera tak dużą liczbę funkcji, że są one łączone w grupy zwane modułami. Powyższe funkcje należą do modułu math
. Przed użyciem dowolnej funkcji z danego modułu należy zaimportować moduł zgodnie z poniższym przykładem. Aby użyć funkcji z modułu należy wpisać nazwę modułu, kropkę, a następnie nazwę funkcji.
Łącząc Wszystko Razem
Jak widać z poprzedniego ćwiczenia, możemy budować wyrażenia matematyczne łącząc operatory. Python dokonuje oceny operatorów używając "kolejności operacji", tej samej, o której uczymy się w klasie na matematyce:
Pierwszeństwo mają nawiasy, potem potęgowanie, następnie dzielenie i mnożenie, a na końcu dodawanie i odejmowanie.
Dzielenie całkowite i modulo należą do kategorii "dzielenie i mnożenie".
Na przykład w wyrażeniu:
3 * (1 + 2) ** 2 % 4najpierw wykonywane jest działanie w nawiasie (1 + 2 = 3), potem (3 ** 2 = 9), następnie mnożenie (3 * 9 = 27), a na koniec modulo, dając wynik końcowy wynoszący 27 % 4 =
3
.
6 - 52 // 5 ** 2
Dzielenie całkowite z liczbami ujemnymi: Wyrażenia a // b
i int(a / b)
są takie same, gdy a
oraz b
są dodatnie. Jednakże, gdy a
jest ujemne, a // b
używa "zaokrąglenia do minus nieskończoności", a int(a / b)
używa "zaokrąglenia do zera".
Liczba całkowita i liczba zmiennoprzecinkowa
Wynikiem wyrażenia matematycznego jest liczba. Jak widzieliśmy wcześniej, każda liczba jest zapisywana w jednym z dwóch możliwych typów: int
lub float
. Typ int
reprezentuje liczby całkowite, zarówno dodatnie jak i ujemne, które mogą być tak duże, jak tylko chcesz.
Python nie akceptuje liczb zapisanych w formie 1 000 000 or 1,000,000 . Zamiast tego stosuje 1000000 . |
Typ float
reprezentuje liczby dziesiętne. Podobnie jak zwykły kalkulator, przechowuje 1/3
jako przybliżoną wartość 0.33333333
, Python również przechowuje liczby dziesiętne jako ich przybliżone wartości.
Ponieważ Python używa aproksymacji (przybliżania) liczb dziesiętnych, niektóre równania, które są matematycznie prawdziwe, mogą nie być prawdziwe w Pythonie.
Z tego powodu, ważne jest, aby uwzględnić te przybliżenia w przypadku porównywania liczb typu float . Na przykład w automatycznym testerze, używanym przez tę witrynę internetową, każde wyjście typu float jest oznaczone jako poprawne, jeśli w przybliżeniu jest równe oczekiwanej odpowiedzi. |
Kończymy tę lekcję ćwiczeniami.
Pytanie dotyczące umiejętności testowania.
Jako "Test Kompetencji" podajemy trzy liczby całkowite i poprosimy o dodanie pierwszych dwóch liczb, a następnie pomnożenie wyniku przez trzecią liczbę. Napisz program czytający trzy liczby i drukujący poprawną odpowiedź. Wskazówka
Gratulacje! Po zakończeniu tych ćwiczeń jesteś gotowy, aby przejść do innej lekcji.