Rozdział 5 · Pobawmy się liczbami!
Geometria z math
math nie rysuje kółek — ale daje wszystko, by je dokładnie liczyć.
Moduł math nie umie rysować kółek, ale daje wszystko, czego potrzebujesz
ich policz: stały math.pi i zwykłe
operatory arytmetyczne, które już znamy.
Obwód i obwód
krug.py
import math
radius = 3
ploshad = math.pi * radius ** 2
dlina_okruzhnosti = 2 * math.pi * radius
print(f"Obszar: {round(ploshad, 2)}") # 28.27
print(f"Obwód: {round(dlina_okruzhnosti, 2)}") # 18.85
math.pi jest float z ograniczoną dokładnością
math.pi przechowuje π z dokładnością wystarczającą do praktycznych zadań (15-16 cyfr znaczących) — ale nie jest to „prawdziwe” nieskończone π, a jego float– reprezentacja. W rozdziale 4 szczegółowo omówiliśmy, dlaczego float ograniczenia dokładności.Połącz kilka wzorów: powierzchnia pierścienia
Prawdziwe zadania geometryczne często wymagają łączenia kilku wzorów. Powierzchnia pierścienia między dwoma okręgami — powierzchnia dużego koła minus powierzchnia małego:
kolco.py
import math
vneshnij_radius = 5
vnutrennij_radius = 3
ploshad_kolca = math.pi * vneshnij_radius ** 2 - math.pi * vnutrennij_radius ** 2
print(round(ploshad_kolca, 2)) # 50.27
Przydatni pomocnicy: prod() oraz fsum()
Do mnożenia lub dokładnego sumowania kilku liczb jednocześnie, takich jak objętość równoległostniki w trzech wymiarach:
prod_fsum.py
import math
izmereniya = [4, 5, 6]
obyom = math.prod(izmereniya)
print(obyom) # 120 — jak 4 * 5 * 6
#fsum dokładniej float niż zwykłe sum() – mniejszy skumulowany błąd zaokrąglenia
chisla = [1, 1e16, -1e16]
print(sum(chisla)) #0.0 – Normalna sum() straciła jeden z powodu kolejności dodawania
print(math.fsum(chisla)) #1.0 – fsum() uważa, że jest bardziej trafny w takich przypadkach
Praktyka: geometria z math
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji