Structuri liniare
Structurile liniare reprezintă cel mai simplu mod de organizare a unui program. Instrucțiunile sunt executate secvențial (una după alta), în ordinea în care sunt scrise.
Caracteristici
- Execuția este de sus în jos
- Fiecare instrucțiune se execută o singură dată
- Nu există ramificări sau repetiții
Variabile și tipuri de date
Toate variabilele în Python sunt obiecte - structuri de date care pot stoca orice tip de valoare. Poți atribui orice valoare fără a preciza tipul, și chiar actualiza valoarea cu un tip diferit:
x = 3
y = 2.15
print(x, y)
x = "abc"
print(x)
3 2.15
abc
Putem considera fiecare variabilă o cutie cu un nume (x, y etc.) și un element înăuntru (23, "doi" etc.). Funcția type() returnează tipul de date:
x = 23
type(x)
int
y = 6.3
type(y)
float
z = "doi"
type(z)
str
Tipuri de date de bază
| Tip | Descriere | Exemple |
|---|---|---|
int |
Număr întreg (fără virgulă) | 5, -3, 1000 |
float |
Număr cu virgulă (floating point = "virgulă mobilă") | 3.14, -2.5 |
str |
Șir de caractere (string) | "salut", "Ana" |
bool |
Valoare logică boolean | True, False |
Atribuirea
x = 5
nume = "Maria"
lista = [1, 2, 3]
Citirea datelor
Funcția input() citește o linie de la tastatură. Atenție: rezultatul este întotdeauna de tip string, chiar dacă utilizatorul introduce un număr.
x = input()
print(x, 'are tipul', type(x))
2
2 are tipul <class 'str'>
x = input()
y = int(x)
print('x =', x, 'are tipul', type(x))
print('int(x) =', y, 'are tipul', type(y))
3
x = 3 are tipul <class 'str'>
int(x) = 3 are tipul <class 'int'>
Conversie de tip (type casting)
Type casting înseamnă transformarea unei valori dintr-un tip în altul:
a = input("Scrie un numar: ")
print(a, type(a))
Scrie un numar: 34
34 <class 'str'>
b = int(a) # Convertește string la int
print(b, type(b))
34 <class 'int'>
Pentru numere cu virgulă:
a = "123.45"
print(a, type(a))
b = float(a) # Convertește string la float
print(b, type(b))
123.45 <class 'str'>
123.45 <class 'float'>
Citirea mai multor numere
Metoda .split() desparte un string în bucăți (implicit la spații):
x = input()
print("input:", x)
x = x.split()
print("x.split():", x)
a = x[0]
b = x[1]
print("a =", a, ", b =", b)
print("a + b =", a + b) # Concatenare de stringuri!
a = int(a)
b = int(b)
print("a + b =", a + b) # Adunare de numere
3 56
input: 3 56
x.split(): ['3', '56']
a = 3 , b = 56
a + b = 356
a + b = 59
Afișarea datelor
Funcția print() afișează orice tip de date. Argumentele separate prin virgulă sunt afișate cu spațiu între ele:
print('Ana are mere.')
Ana are mere.
print(3, 6 + 2)
3 8
print("Mesaj simplu")
print(f"Valoarea lui x este {x}") # f-string pentru formatare
print(a, b, c, sep=", ") # Separator personalizat
Parametrii sep și end
În mod normal, print() pune spațiu între argumente și trece pe rândul următor la final. Poți schimba asta:
print(3)
print(4)
3
4
print(3, end=' ') # Nu trece pe rând nou, pune spațiu
print(4, end=' ')
3 4
print(3, end=' * ')
print(4, end='!')
3 * 4!
Operații aritmetice
x = 23
y = 12
print("x =", x)
print("y =", y)
print("x + y =", x + y)
print("x - y =", x - y)
print("x * y =", x * y)
x = 23
y = 12
x + y = 35
x - y = 11
x * y = 276
Împărțirea
Câtul împărțirii întregi (//) - returnează partea întreagă:
print("x // y =", x // y)
x // y = 1
Restul împărțirii (%) - operatorul modulo:
print("x % y =", x % y)
x % y = 11
Extragerea cifrelor dintr-un număr
Folosind restul și câtul împărțirii la puteri ale lui 10:
x = 65273
print("Cifra unitatilor:", x % 10)
print("Ultimele 2 cifre:", x % 100)
print("Ultimele 3 cifre:", x % 1000)
Cifra unitatilor: 3
Ultimele 2 cifre: 73
Ultimele 3 cifre: 273
print("Numarul fara cifra unitatilor:", x // 10)
print("Fara ultimele 2 cifre:", x // 100)
print("Fara ultimele 3 cifre:", x // 1000)
Numarul fara cifra unitatilor: 6527
Fara ultimele 2 cifre: 652
Fara ultimele 3 cifre: 65
Ridicarea la putere
x = 2
y = 5
print("x ** y =", x ** y)
x ** y = 32
Rezumat operații
suma = a + b
diferenta = a - b
produs = a * b
cat = a / b # împărțire reală (returnează float)
cat_intreg = a // b # împărțire întreagă
rest = a % b # modulo (rest)
putere = a ** b # ridicare la putere
Exemplu complet
Ordinea execuției într-un program liniar:
# Calculul ariei unui dreptunghi
lungime = 10
latime = 5
aria = lungime * latime
print(f"Aria dreptunghiului este: {aria}")
- Se atribuie valoarea
10variabileilungime - Se atribuie valoarea
5variabileilatime - Se calculează produsul și se stochează în
aria - Se afișează rezultatul
Aplicație practică
# Conversie temperatură din Celsius în Fahrenheit
celsius = float(input("Temperatura în Celsius: "))
fahrenheit = celsius * 9/5 + 32
print(f"{celsius}°C = {fahrenheit}°F")
Exerciții
sum00, Urare, scadere2, asii, uciv
ultimacifraapartiiintregi, primacifraapartiizecimale