Curs Web Development
Curs HTML
Curs CSS
Curs Javascript
Curs PHP
Curs Phyton
Curs SQL
Curs SEO

Proiecte practice în Python

Această lecție te provoacă să aplici conceptele învățate prin șase proiecte interactive. De la jocuri simple în consolă până la aplicații web și automatizare, fiecare proiect îți dezvoltă abilitățile într-un mod practic și creativ.

Proiectele incluse

Fiecare proiect vine cu explicații, cod complet și sugestii de extindere. Poți să le personalizezi, să le combini sau să le transformi în aplicații mai complexe.

Joc de ghicit numere - Proiect CLI în Python

Acest joc simplu în linia de comandă permite utilizatorului să ghicească un număr generat aleator de calculator. Este ideal pentru exersarea buclelor, condițiilor și gestionării inputului.

Codul jocului

import random

numar_secret = random.randint(1, 100)
incercari = 0

print("Ghicește numărul între 1 și 100!")

while True:
    try:
        ghicit = int(input("Introdu un număr: "))
        incercari += 1

        if ghicit < numar_secret:
            print("📉 Prea mic.")
        elif ghicit > numar_secret:
            print("📈 Prea mare.")
        else:
            print(f"🎉 Felicitări! Ai ghicit în {incercari} încercări.")
            break
    except ValueError:
        print("⚠️ Introdu un număr valid.")

Ce exersezi

Extensii posibile

Aplicație bancară simplă - Proiect CLI în Python

Această aplicație simulează un cont bancar în linia de comandă. Utilizatorul poate verifica soldul, depune bani și retrage fonduri. Este ideală pentru exersarea funcțiilor, a structurilor condiționale și a buclelor.

Codul aplicației

sold = 1000

def afiseaza_meniu():
    print("\n💳 Meniu Bancar")
    print("1. Verifică soldul")
    print("2. Depune bani")
    print("3. Retrage bani")
    print("4. Ieșire")

while True:
    afiseaza_meniu()
    optiune = input("Alege o opțiune: ")

    if optiune == "1":
        print(f"💰 Soldul curent este: {sold} RON")
    elif optiune == "2":
        suma = float(input("Introdu suma de depus: "))
        sold += suma
        print(f"✅ Ai depus {suma} RON.")
    elif optiune == "3":
        suma = float(input("Introdu suma de retras: "))
        if suma <= sold:
            sold -= suma
            print(f"✅ Ai retras {suma} RON.")
        else:
            print("❌ Fonduri insuficiente.")
    elif optiune == "4":
        print("👋 La revedere!")
        break
    else:
        print("⚠️ Opțiune invalidă.")

Ce exersezi

Extensii posibile

Mini-chat cu interfață CLI - Proiect interactiv în Python

Acest proiect simulează o conversație între doi utilizatori în linia de comandă. Mesajele sunt salvate într-un fișier text, iar fiecare utilizator poate citi și trimite mesaje. Este ideal pentru exersarea lucrului cu fișiere și interacțiunea în buclă.

Codul aplicației

def trimite_mesaj(nume):
    mesaj = input(f"{nume} spune: ")
    with open("chat.txt", "a") as f:
        f.write(f"{nume}: {mesaj}\n")

def afiseaza_chat():
    print("\n📜 Istoric chat:")
    try:
        with open("chat.txt", "r") as f:
            print(f.read())
    except FileNotFoundError:
        print("💬 Chatul este gol.")

print("💬 Mini-chat CLI - scrie 'exit' pentru a ieși.")

while True:
    afiseaza_chat()
    utilizator = input("Cine scrie (User1/User2)? ")
    if utilizator.lower() == "exit":
        break
    trimite_mesaj(utilizator)

Ce exersezi

Extensii posibile

Tic-Tac-Toe în consolă - Joc interactiv în Python

Acest proiect implementează jocul clasic „X și 0” în linia de comandă. Doi jucători alternează mutările pe o tablă 3x3, iar programul verifică automat câștigătorul sau remiza.

Codul jocului

tabla = [" "]*9

def afiseaza_tabla():
    print(f"""
 {tabla[0]} | {tabla[1]} | {tabla[2]}
---+---+---
 {tabla[3]} | {tabla[4]} | {tabla[5]}
---+---+---
 {tabla[6]} | {tabla[7]} | {tabla[8]}
""")

def verifica_castigator(simbol):
    combinatii = [
        [0,1,2], [3,4,5], [6,7,8],  # linii
        [0,3,6], [1,4,7], [2,5,8],  # coloane
        [0,4,8], [2,4,6]            # diagonale
    ]
    return any(all(tabla[i] == simbol for i in c) for c in combinatii)

jucator = "X"
while True:
    afiseaza_tabla()
    try:
        pozitie = int(input(f"Jucător {jucator}, alege poziția (0-8): "))
        if tabla[pozitie] == " ":
            tabla[pozitie] = jucator
            if verifica_castigator(jucator):
                afiseaza_tabla()
                print(f"🏆 Jucătorul {jucator} a câștigat!")
                break
            elif " " not in tabla:
                afiseaza_tabla()
                print("🤝 Remiză!")
                break
            jucator = "O" if jucator == "X" else "X"
        else:
            print("⚠️ Poziție ocupată.")
    except (ValueError, IndexError):
        print("⚠️ Introdu un număr valid între 0 și 8.")

Ce exersezi

Extensii posibile

Automatizare - Web scraping cu requests + BeautifulSoup

Acest proiect demonstrează cum poți extrage date dintr-o pagină web folosind bibliotecile requests și BeautifulSoup. Este ideal pentru automatizarea colectării de informații online.

Codul aplicației

import requests
from bs4 import BeautifulSoup

url = "https://quotes.toscrape.com"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")

citatii = soup.find_all("span", class_="text")

print("📜 Citate extrase:")
for c in citatii:
    print(c.text)

Ce exersezi

Extensii posibile

Aplicație web simplă cu Flask - Proiect Python Web

Acest proiect construiește o aplicație web de bază folosind framework-ul Flask. Este ideal pentru începerea dezvoltării web în Python și înțelegerea rutelor, șabloanelor și serverului local.

Codul aplicației

from flask import Flask

app = Flask(__name__)

@app.route("/")
def acasa():
    return "👋 Salut, Ioan! Bine ai venit în aplicația ta Flask."

@app.route("/despre")
def despre():
    return "🌐 Aceasta este o aplicație web simplă creată cu Flask."

if __name__ == "__main__":
    app.run(debug=True)

Ce exersezi

Extensii posibile

Top