שיעורי מודול (3/4)
מספרים ומודול המתמטיקה
פייתון מבחין בין שני סוגים מספריים בסיסיים: int (דיוק שרירותי
מספרים שלמים - ללא גלישה) ו-float (נקודה צפה 64 סיביות, כפולה
דיוק).
type(42) # <class 'int'>
type(3.14) # <class 'float'>
type(10 ** 100) # <class 'int'> — interi grandi a piacereאופרטורים אריתמטיים
| אופ | המשמעות | דוגמה | תוצאה |
|---|---|---|---|
+ | תוספת | 2 + 3 | 5 |
- | חיסור | 5 - 2 | 3 |
* | מוצר | 4 * 3 | 12 |
/ | חלוקה אמיתית | 10 / 4 | 2.5 |
// | חלוקה מספר שלם | 10 // 4 | 2 |
% | modulo (השאר) | 10 % 3 | 1 |
** | כוח | 2 ** 10 | 1024 |
אזהרה: / מחזיר תמיד float, אפילו עם שני מספרים שלמים (10 / 2
מחזירה 5.0, לא 5). לחלוקת מספרים שלמים השתמש ב-//.
10 / 4 # 2.5
10 // 4 # 2
-7 // 2 # -4 (arrotonda verso il basso, non verso lo zero)מובנים מספריים
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
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מפל הצוף
מצופים הם קירובים בינארים: 0.1 + 0.2 לא בדיוק שווה
0.3.
0.1 + 0.2 # 0.30000000000000004
0.1 + 0.2 == 0.3 # False !להשוואות בטוחות השתמש ב-math.isclose(a, b) או, בהקשרים פיננסיים, ב-
מודול decimal.
דיוק ציפה והמודול העשרוני
צפים ב-Python מיושמים כמספרי נקודה צפה בעלת דיוק כפול (תקן IEEE 754). כתוצאה מכך, חישובים כמו 0.1 + 0.2 אינם מניבים בדיוק 0.3, אלא 0.30000000000000004. אם אתה דורש דיוק מתמטי מוחלט (למשל עבור יישומים פיננסיים), השתמש במודול decimal של הספרייה הרגילה.
נסה את זה
בהינתן `seconds = 3725`, מחשב `שעות`, `דקות`, `נותרות_שניות` באמצעות // ו-%. הערך את הטפול `(שעות, דקות, שניות_נותרות)`.
הצג רמז
// עושה חלוקה שלמים, % את השאר.
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
בהינתן `רדיוס = 5`, חשב את שטח המעגל ב`שטח` באמצעות math.pi. הערך 'שטח' מעוגל ל-2 עשרונים עם עגול.
הצג רמז
math.pi * רדיוס ** 2
הפתרון זמין לאחר 3 ניסיונות
אתגר נוסף
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.
הצג רמז
math.sqrt(16) מחזיר 4.0. round(3.74) מחזיר 4. סכם אותם והקצה ל-total_val.
הפתרון זמין לאחר 3 ניסיונות