Variabile și numere în Python: int, float și conversii
Înțelege variabilele Python, numerele int și float și conversia textului în număr. Calculează suma și media a două valori, cu exemple și verificări.
În acest material
O variabilă Python este un nume asociat unei valori. Instrucțiunea total = 7 asociază numele total cu un număr întreg; nu declară o cutie cu un tip fix pentru tot restul programului. Valorile au tipuri: int reprezintă numere întregi, float reprezintă numere în virgulă mobilă, iar str reprezintă text. Alegerea operației depinde de tipurile valorilor folosite.
Ce primește și ce afișează programul
Citim două numere întregi, fiecare pe propria linie, cu valori între -1000000 și 1000000. Afișăm suma lor pe prima linie și media aritmetică pe a doua, cu exact o cifră după punct. Intrarea este validă în această lecție; tratarea textului neconvertibil este prezentată separat. Media a două întregi are aici partea fracționară zero sau o jumătate.
Exemplu explicat pas cu pas
Pentru intrările 7 și 4, variabilele a și b păstrează numerele 7 și 4. Suma devine 11, iar media calculată prin suma / 2 este 5.5. Dacă am păstra în schimb textele „7” și „4”, operatorul plus le-ar concatena și ar produce „74”. Conversia prin int schimbă semnificația operației din concatenare în adunare numerică.
Intrările 7 și 4 devin întregi; suma este 11 și media este 5.5.Mărește schema ↗
Cum scriem soluția
Fiecare input întoarce un text, de aceea îl trimitem către int înainte de calcul. Asociem rezultatul adunării cu numele suma și rezultatul împărțirii cu medie. Operatorul / produce împărțire obișnuită și un rezultat float pentru aceste numere. La afișare, expresia f"{medie:.1f}" este un text formatat: acoladele introduc valoarea, iar .1f cere o cifră după punct.
De ce obținem rezultatul cerut
Formula mediei este suma celor două valori împărțită la numărul lor, adică doi. Folosirea unei variabile intermediare face vizibile ambele etape și evită repetarea expresiei. Pentru două valori egale, media trebuie să fie chiar valoarea respectivă. Schimbarea ordinii celor două intrări nu poate modifica nici suma, nici media, fiindcă adunarea este comutativă.
Cost și limite
În limitele date, calculele sunt foarte mici și nu necesită colecții sau bucle. Python int poate reprezenta întregi mai mari decât un număr fix de biți, în limita memoriei disponibile. Float are precizie finită: nu presupune că orice fracție zecimală se reprezintă exact. Jumătățile și întregii mici din acest exercițiu nu pun această problemă.
Greșeli pe care le poți verifica
Operatorul // nu este un înlocuitor pentru / când ceri media reală: 11 // 2 produce 5. Pentru valori negative, // rotunjește în jos, astfel -3 // 2 este -2. Conversia int a unui float trunchiază spre zero, deci int(-1.5) este -1. De asemenea, int("3.0") nu este o conversie validă directă din text în întreg, chiar dacă textul descrie un număr real cu parte fracționară zero.
Program complet Python 3
a = int(input())
b = int(input())
suma = a + b
medie = suma / 2
print(suma)
print(f"{medie:.1f}")
Exersează
Pentru 2 și 2, rezultatul este suma 4 și media 2.0. Pentru -3 și 0, rezultatul este -3 și -1.5. Pentru -1000000 și 1000000, ambele rezultate numerice sunt zero, însă media se afișează 0.0. Verifică și că înlocuirea lui / cu // strică exemplul 7 și 4.
Continuă parcursul
Recapitulează afișarea în Primul program Python: print și ordinea instrucțiunilor. Pentru conversii care pot eșua, continuă cu Citirea datelor în Python cu input și int. Pentru acumularea mai multor valori, vezi Repetarea cu for și range în Python.
Pentru definițiile limbajului, consultă documentația oficială Python. Exemplele și explicațiile de aici sunt originale, construite pentru acest parcurs.
Întrebări frecvente
De ce int(input()) este diferit de input()?
Input întoarce text. Int încearcă să interpreteze acel text ca număr întreg, pentru a permite operații aritmetice.
Variabila trebuie declarată cu un tip?
Nu în acest exemplu. Tipul aparține valorii asociate numelui, iar atribuirea simplă este suficientă.
De ce media doi se afișează 2.0?
Formatul .1f cere exact o cifră după punct, chiar dacă valoarea matematică este întreagă.
Un pas mai departe
Autentifică-te pentru a păstra progresul în cont.