Treceți la conținutul principal

„Ups! Programul meu are un bug!” — Ghid vesel pentru micii programatori Python


Salutare, explorator al lumii Python! 🧑‍💻 

 

Știi momentul acela când rulezi programul tău și... 💥 apare o eroare ciudată? Nu te speria! Se întâmplă și celor mai buni programatori.  

Acele greșeluțe se numesc bug-uri — adică mici „gândăcei” care se strecoară în codul nostru.  

Dar vestea bună e că putem învăța să-i prindem și să-i reparăm ușor!


Hai să vedem împreună cele mai comune bug-uri și cum le putem rezolva! 🪲⚙️




 🧩 1. Greșeli de scriere (typos)


Uneori scriem ceva greșit fără să ne dăm seama:



prit("Salut!")



➡️ Python va spune: `NameError: name 'prit' is not defined`


🔧 Cum se rezolvă: verifică atent literele! Ar fi trebuit să scriem:



print("Salut!")



👉 Sfat: citește-ți codul cu voce tare sau lasă un mic spațiu de gândire între linii.




🪄 2. Uităm ghilimelele sau parantezele


Python e foarte atent la semnele de punctuație. Dacă uiți ceva, se supără:



print("Salut!)



➡️ Eroare: `SyntaxError: EOL while scanning string literal`


🔧 Rezolvare: închide mereu ghilimelele și parantezele corect:



print("Salut!")



👉 Poți număra: pentru fiecare `(` trebuie un `)`, iar pentru fiecare `"` trebuie alt `"`!




🧮 3. Încurcăm tipurile de date


Uneori vrem să adunăm lucruri care nu se potrivesc:



numar = 5

text = "mere"

print(numar + text)



➡️ Eroare: `TypeError: unsupported operand type(s)`


🔧 Rezolvare: transformă tipurile ca să se potrivească:



print(str(numar) + " " + text)



👉 Acum Python știe că vrem un text complet: `5 mere`.




🧱 4. Uităm indentarea (spațiile din fața liniilor)


Python iubește ordinea și spațiile corecte! Dacă uiți să pui spații în blocuri de cod:



if True:

print("Bună!")



➡️ Eroare: `IndentationError: expected an indented block`


🔧 Rezolvare:



if True:

    print("Bună!")



👉 Folosește **4 spații** sau tasta „Tab” pentru indentare.




🎯 5. Variabile nedeclarate sau scrise greșit


Dacă scrii:



nume = "Ana"

print(nummee)



➡️ Eroare: `NameError: name 'nummee' is not defined`


🔧 Rezolvare: verifică ortografia! Variabilele trebuie să fie scrise identic:



print(nume)



👉 Poți evita asta alegând nume simple și clare: `scor`, `jucator`, `mesaj`.




🔁 6. Probleme cu buclele


Dacă uiți să adaugi ceva care schimbă variabila în interiorul unei bucle, programul poate rula la infinit! 😱



x = 0

while x < 5:

    print(x)



➡️ Programul nu se oprește, pentru că `x` nu crește niciodată!


🔧 Rezolvare:



x = 0

while x < 5:

    print(x)

    x = x + 1





 🧠 7. Uităm că Python face diferență între majuscule și minuscule



Animal = "Pisică"

print(animal)



➡️ `NameError: name 'animal' is not defined`


🔧 Rezolvare: scrie mereu variabilele la fel:



animal = "Pisică"

print(animal)



👉 În Python, `Animal` și `animal` sunt **două lucruri diferite**.




🧩 Exerciții practice: „Găsește bug-ul!”


Acum e rândul tău! Poți descoperi bug-urile din codurile de mai jos?

Citește cu atenție și încearcă să le corectezi.


 🐞 Exercițiul 1

print("Bun venit la cursul de Python!)


💭 Ce lipsește?


🐞 Exercițiul 2

x = 10

if x > 5:

print("X e mare!")


💭 Ce trebuie adăugat?



🐞 Exercițiul 3

numar = 7

text = "noroc"

print(numar + text)


💭 Cum poți face ca linia să funcționeze corect?


🐞 Exercițiul 4

for i in range(3)

    print("Salut")


💭 Ce simbol lipsește după range(3)?


 🐞 Exercițiul 5

Scor = 100

print(scor)


💭 De ce spune Python că „scor” nu există?



🚀 Cum să devii „vânător de bug-uri” profesionist!

  1. Citește mesajul de eroare – Python îți spune exact unde e problema.
  2. Folosește `print()` ca să verifici valorile în timpul rulării.
  3. Testează pas cu pas – rulează bucăți mici de cod.
  4. Nu te enerva! Chiar și programatorii de la NASA greșesc. 🙂
  5. Notează greșelile ca să le recunoști mai ușor data viitoare.



🎉 Concluzie:

Bug-urile sunt doar semne că înveți ceva nou!

Fiecare eroare e o lecție ascunsă care te face mai bun la programare.


Așa că data viitoare când vezi o eroare... zâmbește și spune:„Super! Am mai găsit un gândăcel de prins!” 🕵️‍♀️🐞

 

Comentarii

Postări populare de pe acest blog

Programare simplă cu Python: Creează jocuri pas cu pas

  De ce această carte este diferită Această carte nu este o simplă carte de programare. Este o călătorie unde tu ești eroul! Vom construi pas cu pas un joc de aventură text , în care vei învăța programarea fără să simți că „faci teme”. Fiecare linie de cod pe care o vei scrie va adăuga magie poveștii: de la afișarea primului mesaj „Salut, aventurierule!” până la lupta finală cu Dragonul. Cum funcționează cartea: În fiecare capitol, adăugăm o nouă piesă la joc: un mesaj, o hartă, un inamic, un inventar. Fiecare capitol are explicații clare pentru conceptele Python. Vei găsi casete bonus cu jocuri extra (mini-ghicitori, Simon Says, spânzurătoarea). La final, vei avea un joc complet pe care îl poți juca cu prietenii sau îl poți extinde cu ideile tale. Cuprins Capitolul 1 - Bun venit în lumea jocurilor text în Python Capitolul 2 -  Decizii și primele hărți ale aventurii

Algoritmul de sortare al numerelor Bubble Sort

Limbajele de programare moderne au librarii extinse care implementează diversi algoritmi de sortare, căutare, calcule matematice, fiind ușor de folosit. Dar un programator la început de drum poate învața cum funcționează limbajul analizând  cum sunt implementați unii algoritmi.  🧼 Cum functioneazã „Bubble Sort”? Gândește-te că ai mai multe bile colorate cu numere scrise pe ele: 👉 4, 6, 5, 1, 3, 2 Le pui într-un rând și vrei să le așezi în ordine de la cel mai mic la cel mai mare. 🫧 Cum funcționează? Te uiți la primele două bile. Dacă prima e mai mare decât a doua, le schimbi locul. (Așa cum ai pune o bilă mai mare mai în spate.) Treci mai departe la următoarea pereche. Compari bilele 2 și 3, apoi 3 și 4, și tot așa. De fiecare dată, cea mai mare bilă „urcă” spre capătul rândului, la fel cum o bulă de aer urcă la suprafața apei — de aici și numele „ Bubble Sort ”! Când ai ajuns la finalul rândului , cea mai mare bilă e deja la locul ei. Acum reiei pașii p...

O introducere în programarea C și a interfețelor grafice

Am început traducerea in limba  română  a cărții "An Introduction to C and GUI Programming" (2nd Edition), de  Simon Long,  actualizată pentru GTK 3. Cartea oferă o introducere completă în programarea C, de la concepte de bază până la crearea de aplicații grafice complexe folosind biblioteca GTK. O puteti accesa gratuit la aceasta adresa:  https://github.com/danadrianparaschiv/techlabjunior/tree/main/Introducere_programare_C_si_interfete_grafice Structura cărții Cartea este împărțită în două părți principale: Partea I: Programare C (Capitolele 1-12) Primele 12 capitole acoperă fundamentele limbajului C: Introducere  - Ce este C și de ce să-l învățați Variabile și aritmetica  - Tipuri de date și operații matematice Condiții și comparații  - Instrucțiuni if-else și bucle while Control avansat al fluxului  - Bucle for și instrucțiuni switch Pointeri  - Lucrul cu adrese de memorie Funcții  - Organizarea codului în funcții reutilizabile ...