שיעורי מודול (4/4)
הקלד המרות
Python הוא מוקלד חזק: הוא אף פעם לא מוסיף מחרוזת למספר אלא אם כן
לומר זאת. כדי לעבור מסוג אחד לאחר אתה משתמש בפונקציות הבנאי:
int(), float(), str(), bool(), list(), tuple(), set().
int("42") # 42
float("3.14") # 3.14
str(42) # '42'
list("abc") # ['a', 'b', 'c']
tuple([1, 2]) # (1, 2)
set([1, 1, 2]) # {1, 2}int() עם מחרוזות
int("42") עבודות; int("42.5") מעלה את ValueError. עבור מחרוזות עשרוניות,
תעבור קודם על float: int(float("42.5")) → 42 (חתוך, לא
סיבוב).
int("42") # 42
int(" 42 ") # 42 (strip automatico degli spazi)
int("42.5") # ValueError
int(float("42.5")) # 42
int("ff", 16) # 255 (base esplicita)float() עם מחרוזות
מקבל סימון עשרוני ומדעי.
float("3.14") # 3.14
float("1e3") # 1000.0
float("inf") # inf
float("nan") # nanstr(): ההמרה ה"ידידותית".
str(x) מתקשר באופן פנימי לx.__str__() כדי לקבל את הייצוג ה"אנושי".
יש גם repr(x) לייצוג "מאתר הבאגים", לרוב יותר
מפורש (עם מרכאות למחרוזות וכו').
str(3.14) # '3.14'
str([1, 2]) # '[1, 2]'
str(True) # 'True'bool() ואמיתות
bool(x) מחזיר את False רק עבור ערכי שקר של Python:
False,None- אפס מספרים:
0,0.0 - מיכלים ריקים:
"",[],(),{},set()
כל השאר אמת.
bool(0) # False
bool("") # False
bool([]) # False
bool("0") # True ! (stringa non vuota)
bool([0]) # True ! (lista non vuota, anche se contiene 0)דפוס: ניתוח קלט בטוח
testo = input("età: ")
try:
eta = int(testo)
except ValueError:
print(f"non è un numero: {testo!r}")
eta = Noneהערכה בוליאנית (אמת)
ב-Python, לכל אובייקט יש ערך אמת מרומז. אתה יכול לבדוק את הערך הבוליאני של כל אובייקט באמצעות הפונקציה bool(...). אוספים ריקים (למשל "", [], {}, set()) ואפס ערכים (0, 0.0 להעריך תמיד) False. כל שאר האובייקטים מוערכים ל-True.
נסה את זה
בהינתן `a = '10'` ו-`b = '32'` (מחרוזות), חשב את 'סך הכל' כסכום השלם שלהם. הערך 'סך הכל'.
הצג רמז
int(a) + int(b), אחרת אתה משרשר את המחרוזות.
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
בהינתן הרשימה `values = ['', 'x', 0, None, 1, []]`, בנה `trthy` רק עם רכיבי האמת באמצעות bool(). העריכו את 'אמת'.
הצג רמז
הבנת רשימה עם filter bool(v) (או רק 'if v').
הפתרון זמין לאחר 3 ניסיונות
אתגר נוסף
בהינתן רשימת המחרוזות \`string_numbers = ["1", "2", "3"]\`, המר כל אלמנט למספר שלם באמצעות \`int()\` וסכם אותם יחד כדי לקבל את הערך \`6\`. אחסן את הסכום ב-\`sum_val\` והעריך אותו.
הצג רמז
גישה לאלמנטים לפי אינדקס, למשל. int(string_numbers[0]), וסכם אותם.
הפתרון זמין לאחר 3 ניסיונות