Ana içeriğe geç
Modül 4 · Ders 3 ders 4Kurstaki 15/36~10 min
Modül dersleri (3/4)

Sayılar ve matematik modülü

Python iki temel sayısal türü birbirinden ayırır: int (keyfi duyarlıklı) tamsayılar — taşma yok) ve float (64 bit kayan nokta, çift kesinlik).

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

Aritmetik operatörler

OpAnlamıÖrnekSonuç
+ekleme2 + 35
-çıkarma5 - 23
*ürün4 * 312
/doğru bölme10 / 42.5
//tamsayı bölme10 // 42
%modulo (kalan)10 % 31
**güç2 ** 101024

Uyarı: /, iki tamsayıyla bile her zaman bir float döndürür (10 / 2) 5 değil, 5.0 değerini döndürür). Tamsayı bölme için // kullanın.

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

Sayısal yerleşikler

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

math modülü

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

Şamandıra tuzağı

Kayan noktalar ikili yaklaşımlardır: 0.1 + 0.2 tam olarak eşit değildir 0.3.

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

Güvenli karşılaştırmalar için math.isclose(a, b) kullanın veya mali bağlamlarda decimal modülü.

Şamandıra hassasiyeti ve ondalık modül

Python'daki kayan noktalar, çift duyarlıklı kayan nokta sayıları (IEEE 754 standardı) olarak uygulanır. Sonuç olarak, 0.1 + 0.2 gibi hesaplamalar tam olarak 0.3 sonucunu vermez, bunun yerine 0.30000000000000004 sonucunu verir. Mutlak matematiksel kesinliğe ihtiyacınız varsa (örneğin finansal uygulamalar için), standart kütüphanenin decimal modülünü kullanın.

Deneyin

Egzersiz#python.m4.l3.e1
Denemeler: 0Yükleniyor…

'Saniye = 3725' verildiğinde, // ve %'yi kullanarak 'saat', 'dakika', 'kalan_saniye'yi hesaplayın. `(saat, dakika, kalan_saniye)` demetini değerlendirin.

Düzenleyici yükleniyor…
İpucu göster

// tamsayı bölmesini yapar, kalan %'dir.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#python.m4.l3.e2
Denemeler: 0Yükleniyor…

'Yarıçap = 5' verildiğinde, math.pi'yi kullanarak 'alan'daki daire alanını hesaplayın. Yuvarlak ile 2 ondalık basamağa yuvarlanmış 'alanı' değerlendirin.

Düzenleyici yükleniyor…
İpucu göster

math.pi * yarıçap ** 2

3 denemeden sonra çözüm mevcut

Ek zorluk

Egzersiz#python.m4.l3.e3
Denemeler: 0Yükleniyor…

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.

Düzenleyici yükleniyor…
İpucu göster

math.sqrt(16) 4,0 değerini döndürür. round(3.74) 4 değerini döndürür. Bunları toplayın ve total_val'a atayın.

3 denemeden sonra çözüm mevcut