Lecții din modul (4/4)
Conversii de tip
Python este tastat puternic: nu adaugă niciodată un șir unui număr decât dacă dvs
spune asa. Pentru a trece de la un tip la altul folosiți funcțiile de constructor:
int(), float(), str(), bool(), list(), tuple(), _INLINE_13, list()
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() cu șiruri
int("42") funcționează; int("42.5") crește ValueError. Pentru șiruri zecimale,
treceți mai întâi prin float: int(float("42.5")) → 42 (trunchiază, nu
rotund).
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() cu șiruri
Acceptă notația zecimală și științifică.
float("3.14") # 3.14
float("1e3") # 1000.0
float("inf") # inf
float("nan") # nanstr(): conversia „prietenoasă”.
str(x) apelează intern x.__str__() pentru a obține reprezentarea „umană”.
Există, de asemenea, repr(x) pentru reprezentarea „depanator”, adesea mai mult
explicit (cu ghilimele pentru șiruri de caractere etc.).
str(3.14) # '3.14'
str([1, 2]) # '[1, 2]'
str(True) # 'True'bool() și adevăr
bool(x) returnează False numai pentru valorile falsy ale lui Python:
False,None- zero numere:
0,0.0 - containere goale:
"",[],(),{},set()
Orice altceva este adevar.
bool(0) # False
bool("") # False
bool([]) # False
bool("0") # True ! (stringa non vuota)
bool([0]) # True ! (lista non vuota, anche se contiene 0)Model: parsare sigură a intrărilor
testo = input("età: ")
try:
eta = int(testo)
except ValueError:
print(f"non è un numero: {testo!r}")
eta = NoneEvaluare booleană (Adevăr)
În Python, fiecare obiect are o valoare implicită de adevăr. Puteți verifica valoarea booleană a oricărui obiect folosind funcția bool(...). Colecții goale (de ex. "", [], {}, set()) și valori zero (0, __PROTECTED_INLINE_43_ECT, întotdeauna evaluate IN_42) False. Toate celelalte obiecte sunt evaluate ca True.
Încearcă
Având în vedere `a = '10'` și `b = '32'` (șiruri), calculați `total` ca suma lor INTEGER. Evaluați „total”.
Afișează indiciu
int(a) + int(b), altfel concatenați șirurile.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Având în vedere lista `valori = ['', 'x', 0, None, 1, []]`, construiți `truthy` NUMAI cu elementele truthy folosind bool(). Evaluează „adevărul”.
Afișează indiciu
Lista de înțelegere cu filtru bool(v) (sau doar „dacă v”).
Soluție disponibilă după 3 încercări
Provocare suplimentară
Având în vedere lista de șiruri de caractere \`string_numbers = ["1", "2", "3"]\`, convertiți fiecare element într-un număr întreg folosind \`int()\` și însumați-le pentru a obține valoarea \`6\`. Stocați suma în \`sum_val\` și evaluați-o.
Afișează indiciu
Accesați elemente prin index, de ex. int(string_numbers[0]) și însumați-le.
Soluție disponibilă după 3 încercări