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 ** bobliczaab(apomnożone przez siebiebrazy); np.2 ** 3daje8(czyli 2 × 2 × 2). - Operator dzielenia całkowitego
a // boblicza "iloraz"adzielonego przezbi ignoruje resztę; np.14 // 3daje4. - Operator modulo
a % boblicza resztę z dzieleniaaprzezb; np.14 % 3wynosi2.
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.pistał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.




