Lompati ke konten utama
Modul 4 · Pelajaran 3 dari 415/36 dalam kursus~10 min
Pelajaran modul (3/4)

Angka dan modul matematika

Python membedakan dua tipe numerik mendasar: int (presisi sewenang-wenang bilangan bulat — tanpa luapan) dan float (titik mengambang 64-bit, ganda presisi).

Python
type(42)       # <class 'int'>
type(3.14)     # <class 'float'>
type(10 ** 100)  # <class 'int'>   — interi grandi a piacere

Operator aritmatika

OperasiArtiContohHasil
+tambahan2 + 35
-pengurangan5 - 23
*produk4 * 312
/benar pembagian10 / 42.5
//pembagian bilangan bulat10 // 42
%modulo (sisa)10 % 31
**kekuatan2 ** 101024

Peringatan: / selalu mengembalikan float, bahkan dengan dua bilangan bulat (10 / 2 mengembalikan 5.0, bukan 5). Untuk pembagian bilangan bulat gunakan //.

Python
10 / 4    # 2.5
10 // 4   # 2
-7 // 2   # -4   (arrotonda verso il basso, non verso lo zero)

Bawaan numerik

Python
abs(-5)               # 5
min(3, 1, 2)          # 1
max([3, 1, 2])        # 3   (su iterabile)
round(3.7)            # 4
round(3.14159, 2)     # 3.14
sum([1, 2, 3])        # 6

Modul math

Python
import math
math.pi               # 3.141592653589793
math.sqrt(16)         # 4.0
math.floor(3.9)       # 3   (verso meno infinito)
math.ceil(3.1)        # 4   (verso più infinito)
math.log(math.e)      # 1.0
math.gcd(12, 18)      # 6

Jebakan pelampung

Float adalah perkiraan biner: 0.1 + 0.2 tidak sama persis 0.3.

Python
0.1 + 0.2           # 0.30000000000000004
0.1 + 0.2 == 0.3    # False !

Untuk perbandingan yang aman gunakan math.isclose(a, b) atau, dalam konteks keuangan, Modul decimal.

Presisi mengambang dan modul desimal

Float dengan Python diimplementasikan sebagai bilangan floating-point presisi ganda (standar IEEE 754). Akibatnya, penghitungan seperti 0.1 + 0.2 tidak menghasilkan persis 0.3, melainkan 0.30000000000000004. Jika Anda memerlukan ketepatan matematika absolut (misalnya untuk aplikasi keuangan), gunakan modul decimal perpustakaan standar.

Cobalah

Latihan#python.m4.l3.e1
Upaya: 0Memuat…

Diberikan `detik = 3725`, hitung `jam`, `menit`, `sisa_detik` menggunakan // dan %. Evaluasi tuple `(jam, menit, sisa_detik)`.

Memuat editor…
Tunjukkan petunjuk

// melakukan pembagian bilangan bulat, % sisanya.

Solusi tersedia setelah 3 upaya

Tinjau latihan

Latihan#python.m4.l3.e2
Upaya: 0Memuat…

Diketahui `radius = 5`, hitung luas lingkaran di `luas` menggunakan math.pi. Evaluasi `area` yang dibulatkan menjadi 2 desimal dengan pembulatan.

Memuat editor…
Tunjukkan petunjuk

matematika.pi * radius ** 2

Solusi tersedia setelah 3 upaya

Tantangan tambahan

Latihan#python.m4.l3.e3
Upaya: 0Memuat…

Import the `math` module. Calculate the square root of `16` using `math.sqrt`, add the result to the rounded value of `3.74` (using `round()`), and store the final sum in `total_val`. Finally, evaluate the variable.

Memuat editor…
Tunjukkan petunjuk

matematika.sqrt(16) mengembalikan 4.0. round(3.74) mengembalikan 4. Jumlahkan dan tetapkan ke total_val.

Solusi tersedia setelah 3 upaya