🐍

Exercitii Fundamentale Python

Programare Python Începător 1 min citire 0 cuvinte

Exercitii Fundamentale Python

Exercitiul 1: Verificare Paritate

Problema: Scrie o functie care verifica daca un numar este par.

def este_par(n):
    return n % 2 == 0

# Test
print(este_par(4))   # True
print(este_par(7))   # False
print(este_par(0))   # True

Explicatie: Operatorul modulo % returneaza restul impartirii. Daca n % 2 == 0, numarul este par.


Exercitiul 2: Suma Cifrelor

Problema: Calculeaza suma cifrelor unui numar.

def suma_cifre(n):
    n = abs(n)  # Pentru numere negative
    total = 0
    while n > 0:
        total += n % 10  # Ultima cifra
        n //= 10         # Elimina ultima cifra
    return total

# Test
print(suma_cifre(123))   # 6 (1+2+3)
print(suma_cifre(9876))  # 30

Exercitiul 3: Numar Prim

Problema: Verifica daca un numar este prim.

def este_prim(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

# Test
print(este_prim(7))   # True
print(este_prim(12))  # False
print(este_prim(2))   # True

Explicatie: Verificam doar pana la radacina patrata a lui n (optimizare).


Exercitiul 4: Inversare String

Problema: Inverseaza un string fara a folosi [::-1].

def inverseaza(s):
    rezultat = ""
    for c in s:
        rezultat = c + rezultat
    return rezultat

# Sau cu join
def inverseaza_v2(s):
    return "".join(reversed(s))

# Test
print(inverseaza("Python"))  # nohtyP

Exercitiul 5: Factorial

Problema: Calculeaza factorialul unui numar.

def factorial(n):
    if n < 0:
        raise ValueError("n trebuie sa fie >= 0")
    if n <= 1:
        return 1
    rezultat = 1
    for i in range(2, n + 1):
        rezultat *= i
    return rezultat

# Test
print(factorial(5))   # 120
print(factorial(0))   # 1

Exercitiul 6: Fibonacci

Problema: Genereaza primele n numere Fibonacci.

def fibonacci(n):
    if n <= 0:
        return []
    if n == 1:
        return [0]

    fib = [0, 1]
    while len(fib) < n:
        fib.append(fib[-1] + fib[-2])
    return fib

# Test
print(fibonacci(8))  # [0, 1, 1, 2, 3, 5, 8, 13]

Exercitiul 7: Conversie Temperatura

Problema: Converteste intre Celsius si Fahrenheit.

def celsius_to_fahrenheit(c):
    return c * 9/5 + 32

def fahrenheit_to_celsius(f):
    return (f - 32) * 5/9

# Test
print(celsius_to_fahrenheit(0))    # 32.0
print(celsius_to_fahrenheit(100))  # 212.0
print(fahrenheit_to_celsius(32))   # 0.0

Exercitiul 8: Validare Email Simpla

Problema: Verifica daca un string contine @ si un punct dupa @.

def email_valid(email):
    if "@" not in email:
        return False
    parti = email.split("@")
    if len(parti) != 2:
        return False
    return "." in parti[1]

# Test
print(email_valid("user@mail.com"))   # True
print(email_valid("invalid"))         # False
print(email_valid("no@domain"))       # False

Puncte Cheie

  • Foloseste % pentru operatii cu cifre
  • n**0.5 sau int(n**0.5) pentru radacina patrata
  • Verifica cazurile limita (0, numere negative)
  • Testeaza cu mai multe valori de input

📚 Articole Corelate