Jocul „Ghicește Numărul” în Python
Creează pas cu pas jocul „Ghicește Numărul” în Python. Înveți modulul random, bucle, condiții și cum să construiești un joc interactiv complet.
„Ghicește Numărul" e unul dintre cele mai distractive proiecte pentru începători. Calculatorul alege un număr secret, iar tu încerci să-l ghicești, primind indicii „mai mare" sau „mai mic". Hai să-l construim de la zero.
Pasul 1: Generează numărul secret
Folosim modulul random ca să alegem un număr aleatoriu între 1 și 100.
import random
secret = random.randint(1, 100)
random.randint(1, 100) returnează un număr întreg între 1 și 100, ambele incluse. De fiecare dată când rulezi programul, numărul va fi altul.
Pasul 2: Cere o încercare
Întrebăm jucătorul ce număr crede că am ales.
incercare = int(input("Ghicește numărul (1-100): "))
Folosim int pentru că input întoarce text, iar noi avem nevoie de un număr pentru comparații.
Pasul 3: Compară și dă indicii
Acum verificăm dacă a ghicit, e prea mic sau prea mare.
if incercare == secret:
print("Felicitări, ai ghicit!")
elif incercare < secret:
print("Prea mic! Încearcă mai mare.")
else:
print("Prea mare! Încearcă mai mic.")
Pasul 4: Repetă până ghicește
Un joc cu o singură încercare nu e prea distractiv. Punem totul într-o buclă while care rulează până la ghicire.
import random
secret = random.randint(1, 100)
while True:
incercare = int(input("Ghicește numărul (1-100): "))
if incercare == secret:
print("Felicitări, ai ghicit!")
break
elif incercare < secret:
print("Prea mic! Încearcă mai mare.")
else:
print("Prea mare! Încearcă mai mic.")
break oprește bucla când jucătorul ghicește corect.
Pasul 5: Numără încercările
Hai să adăugăm puțină tensiune: numărăm de câte încercări a avut nevoie.
import random
secret = random.randint(1, 100)
numar_incercari = 0
while True:
incercare = int(input("Ghicește numărul (1-100): "))
numar_incercari += 1
if incercare == secret:
print(f"Bravo! Ai ghicit din {numar_incercari} încercări.")
break
elif incercare < secret:
print("Prea mic!")
else:
print("Prea mare!")
numar_incercari += 1e o scurtătură pentrunumar_incercari = numar_incercari + 1. Crește valoarea cu unu de fiecare dată.
Pasul 6: Limitează numărul de încercări
Ca să fie mai provocator, dăm jucătorului doar 7 șanse.
import random
secret = random.randint(1, 100)
sanse = 7
for incercare_curenta in range(1, sanse + 1):
incercare = int(input(f"Încercarea {incercare_curenta}/{sanse}: "))
if incercare == secret:
print("Ai câștigat!")
break
elif incercare < secret:
print("Prea mic!")
else:
print("Prea mare!")
else:
print(f"Ai pierdut! Numărul era {secret}.")
Un detaliu interesant: în Python, o buclă for poate avea și un else, care se execută doar dacă bucla s-a terminat fără break — adică jucătorul a rămas fără șanse.
Concepte folosite
| Concept | Rolul în joc |
|---|---|
random.randint | alege numărul secret |
int(input(...)) | citește încercarea |
if / elif / else | dă indiciile |
while / for | repetă jocul |
break | oprește la ghicire |
Idei de îmbunătățire
- Întreabă jucătorul dacă vrea să joace din nou.
- Lasă-l să aleagă intervalul (1-50, 1-1000).
- Ține un scor al celor mai puține încercări.
- Adaugă niveluri de dificultate cu mai multe sau mai puține șanse.
Concluzie
Cu acest joc ai folosit toate fundamentele importante: generare aleatoare, citirea datelor, condiții și bucle. Mai bine de atât, ai construit ceva cu care chiar te poți juca și pe care îl poți arăta prietenilor.
La ByteSchool transformi astfel de proiecte în pași concreți spre nivelul următor, ghidat de mentori din Big Tech care îți arată cum să-ți duci ideile de la schiță la program funcțional.