🎯 Obiectiv

Să înveți cum să recunoști, înțelegi și repari cele mai frecvente erori în Python, pas cu pas.


🧨 9.1 Ce este o eroare?

O eroare este o greșeală în cod care împiedică programul să funcționeze corect.

📌 Trei tipuri principale:

Tip de eroareCe înseamnă simplu?
SintacticăCodul e scris greșit (ex: ai uitat o paranteză)
SemanticăCombini lucruri care nu merg împreună (ex: aduni text cu număr)
LogicăCodul merge, dar rezultatul este greșit (ex: în loc să aduni, scazi)

🧱 9.2 Exemple simple

❌ Eroare sintactică

pythonCopyEditprint("Salut"

🔍 Greșeală: lipsește paranteza închisă
📢 Python spune: SyntaxError: '(' was never closed


❌ Eroare semantică

pythonCopyEditnume = "Ana"
varsta = 10
print(nume + varsta)

🔍 Greșeală: nu poți aduna text cu număr
📢 Python spune: TypeError: can only concatenate str (not "int")
Soluție:

pythonCopyEditprint(nume + str(varsta))

❌ Eroare logică

pythonCopyEditx = 10
y = 5
z = x - y  # voiam să adun, nu să scad
print(z)

🔍 Greșeală: programul rulează, dar rezultatul este greșit
📢 Python nu dă eroare, dar rezultatul e altul decât ce doreai.


🔧 9.3 Ce este debugging?

🔍 Debugging înseamnă să cauți și să repari greșelile dintr-un program.

💡 Cuvântul „bug” vine de la o molie reală găsită într-un calculator în 1947! 😄


🧐 9.4 Cum citești un mesaj de eroare?

Exemplu:

pythonCopyEditprint("Salut)

📢 Python spune:
SyntaxError: unterminated string literal

✔️ Ce trebuie să observi:

  • Tipul erorii: SyntaxError
  • Linia unde apare
  • Explicația: lipsă ghilimea

🧠 9.5 Cum repari o eroare? (Debugging pas cu pas)

  1. Citește cu atenție mesajul de eroare.
  2. Rulează codul pe bucăți. (ex: pythontutor.com)
  3. Pune print() în cod ca să vezi ce valori ai.
  4. Comentează porțiuni de cod ca să izolezi problema.
  5. Folosește type() ca să vezi tipul datelor.

🧪 Activitate 1: Corectează codurile

Cod 1:

pythonCopyEditx = 10
y = "5"
print(x + y)

🔍 Eroare: aduni număr cu text
✅ Soluție:

pythonCopyEditprint(x + int(y))

Cod 2:

pythonCopyEditprint("Ana are " + 5 + " ani")

🔍 Eroare: încerci să legi un număr de un text
✅ Soluție:

pythonCopyEditprint("Ana are " + str(5) + " ani")

🧪 Activitate 2: Găsește greșeala logică

pythonCopyEditpret_pe_bucata = 10
cantitate = 3
total = pret_pe_bucata - cantitate
print("Total de plată:", total)

🔍 Ce nu e bine?
➡️ Ai scăzut, dar trebuia să înmulțești.

✅ Corect:

pythonCopyEdittotal = pret_pe_bucata * cantitate

Surse recomandate

  1. Python.org – Documentația oficialăGhidul oficial despre erori și excepții în Python. Are explicații simple și exemple clare.
  2. W3Schools – Python ErrorsLecții pas cu pas, foarte prietenoase pentru începători. Include explicații și exerciții practice.
  3. Python Tutor (vizualizare cod pas cu pas)Un instrument online care te ajută să vezi cum rulează codul linie cu linie. Ideal pentru debugging.
  4. Programiz – Python DebuggingExplicații intuitive despre cum să identifici și să gestionezi erorile.

Lasă un comentariu

Quote of the week

„And so with the sunshine and the great bursts of leaves growing on the trees, I had that familiar conviction that life was beginning over again with the summer.”

~ F. Scott Fitzgerald, The Great Gatsby