🎯 0. Obiectivele Părții 1
La final trebuie să poți construi și urmări programe simple fără să depinzi de concepte încă nepredate.
1. Ce este Python?
print("Salut!")Instrucțiunile sunt executate, în mod obișnuit, de sus în jos.
print("Salut!")
print("Invat Python.")
print("Prima problema.")2. Algoritmul
Exemplu: media a două numere
- Citim primul număr.
- Citim al doilea număr.
- Calculăm suma.
- Împărțim suma la 2.
- Afișăm rezultatul.
Pseudocod
citește a
citește b
s ← a + b
m ← s / 2
afișează mPython
a = int(input())
b = int(input())
m = (a + b) / 2
print(m)3. Variabile și atribuirea
x = 10= înseamnă atribuire: variabilei x îi atribuim valoarea 10.
3.1. Modificarea unei variabile
x = 10
x = x + 5
print(x)x = 10; apoi x = 10 + 5; în final x = 15.= (atribuire) cu == (comparație).4. Tipuri de date
| Tip | Exemplu | Semnificație |
|---|---|---|
int | 15 | număr întreg |
float | 3.14 | număr real |
str | "Python" | text / șir de caractere |
bool | True | valoare logică |
În Python, partea zecimală se scrie cu punct: 3.14.
7 este int, iar "7" este str. Arată asemănător, dar sunt valori de tipuri diferite.x = 10
y = 3.5
z = "10"
p = True
print(type(x))
print(type(y))
print(type(z))
print(type(p))5. Caractere
str pentru text. Un caracter poate fi privit ca un text format dintr-un singur simbol, de exemplu "A", "7" sau "?".| Scriere | Tip | Ce este? |
|---|---|---|
7 | int | numărul șapte |
"7" | str | caracterul cifră „7” |
5.1. Caracter cifră → număr
c = "7"
n = int(c)
print(n)5.2. Număr → text
n = 7
c = str(n)
print(c)5.3. Coduri Unicode
ord() transformă un caracter în codul său numeric, iar chr() transformă un cod numeric întreg în caracterul corespunzător.
print(ord("A"))
print(chr(65))| Funcție | Direcție | Exemplu |
|---|---|---|
ord() | caracter → cod | ord("A") → 65 |
chr() | cod → caracter | chr(65) → "A" |
str(7) produce textul "7"; chr(55) produce caracterul al cărui cod Unicode este 55. Pot ajunge la același caracter, dar prin mecanisme diferite.6. Funcția print()
print() afișează valori în consolă.a = 10
b = 20
print(a, b)Valorile multiple sunt afișate implicit cu spațiu între ele.
6.1. end și sep
print("A", end="")
print("B")
print(10, 20, 30, sep="-")7. Funcția input()
input() citește de la tastatură și returnează întotdeauna un str.nume = input()input() → strint(input()) → intfloat(input()) → float8. Conversii de tip
O conversie transformă o valoare dintr-un tip în alt tip atunci când transformarea este permisă.
| Conversie | Exemplu | Observație |
|---|---|---|
| int → float | float(7) → 7.0 | valoarea numerică rămâne aceeași |
| float → int | int(7.9) → 7 | nu rotunjește; elimină partea zecimală |
| int → str | str(7) → "7" | obținem text |
| float → str | str(7.5) → "7.5" | obținem text |
| str → int | int("7") → 7 | textul trebuie să reprezinte un întreg |
| str → float | float("7.5") → 7.5 | textul trebuie să reprezinte un real |
| caracter → cod | ord("A") → 65 | cod Unicode |
| cod → caracter | chr(65) → "A" | argumentul este întreg |
int(7.9) este 7, nu 8. Pentru -7.9, rezultatul este -7 (spre zero).8.1. float → caracter prin cod
x = 65.9
c = chr(int(x))
print(c)Aici avem două transformări: float → int → chr(). Nu există o conversie generală directă „orice real → caracter”; chr() lucrează cu un cod întreg.
chr(7) nu înseamnă caracterul „7”. Pentru cifra textuală „7” folosim str(7); pentru a transforma textul „7” în număr folosim int("7").9. Operatorii matematici
| Operator | Rol | Exemplu | Rezultat |
|---|---|---|---|
| + | adunare | 8 + 3 | 11 |
| - | scădere | 8 - 3 | 5 |
| * | înmulțire | 8 * 3 | 24 |
| / | împărțire reală | 8 / 3 | 2.666... |
| // | împărțire întreagă | 8 // 3 | 2 |
| % | rest | 8 % 3 | 2 |
| ** | putere | 2 ** 5 | 32 |
9.1. Prioritatea
- Paranteze
- Puteri
- Înmulțire, împărțire, împărțire întreagă, rest
- Adunare și scădere
x = 2 + 3 * 4
print(x) # 14
x = (2 + 3) * 4
print(x) # 2010. Operatorii de comparație
| Operator | Semnificație |
|---|---|
== | egal |
!= | diferit |
< | mai mic |
> | mai mare |
<= | mai mic sau egal |
>= | mai mare sau egal |
O comparație produce True sau False.
x = 10
print(x == 10)
print(x > 7)
print(x != 5)11. if, elif și else
11.1. if
if conditie:
instructiuni11.2. if + else
n = int(input())
if n % 2 == 0:
print("par")
else:
print("impar")11.3. if + elif + else
x = int(input())
if x > 0:
print("pozitiv")
elif x < 0:
print("negativ")
else:
print("zero")12. and, or, not
| Operator | Semnificație |
|---|---|
and | ambele condiții trebuie să fie adevărate |
or | cel puțin una trebuie să fie adevărată |
not | inversează valoarea logică |
x = int(input())
if x >= 10 and x <= 20:
print("DA")
else:
print("NU")13. Urmărirea manuală a programului
Trebuie să poți urmări valorile variabilelor fără să rulezi programul.
x = 4
y = 3
x = x + y
y = x * 2
x = y - 5
print(x, y)14. Exerciții rezolvate
Se citesc două numere întregi. Afișați suma.
a = int(input())
b = int(input())
print(a + b)a = int(input())
b = int(input())
c = int(input())
print((a + b + c) / 3)n = int(input())
x = float(n)
s = str(n)
print(x)
print(s)c = input()
n = int(c)
print(2 * n)c = input()
print(ord(c))cod = int(input())
print(chr(cod))a = int(input())
b = int(input())
if a > b:
print(a)
else:
print(b)n = int(input())
if n > 0:
print("pozitiv")
elif n < 0:
print("negativ")
else:
print("zero")15. Exerciții propuse
Se citește un întreg. Afișați-l ca float, apoi ca str.
Se citește un număr real. Afișați valoarea obținută prin int().
Se citește un text care reprezintă un întreg. Transformați-l în număr și afișați triplul.
Se citește un text care reprezintă un număr real. Transformați-l în float și afișați-l.
Se citește un caracter cifră. Transformați-l în număr și afișați numărul mărit cu 5.
Se citește un caracter. Afișați codul său folosind ord().
Se citește un cod Unicode întreg. Afișați caracterul cu chr().
Se citesc două numere. Afișați-l pe cel mai mare folosind if și else.
Se citește un număr. Verificați dacă aparține intervalului [10, 20].
Se citește un număr întreg. Afișați dacă este par sau impar.
for, while, indexare, slicing, split(), map() sau alte metode de șiruri nepredate.16. Recapitulare
| Verificare | ☐ |
|---|---|
| Știu ce este un algoritm? | ☐ |
| Știu ce este o variabilă și ce înseamnă atribuirea? | ☐ |
| Știu diferența dintre int, float și str? | ☐ |
| Știu că input() returnează str? | ☐ |
| Știu int ↔ float? | ☐ |
| Știu int/float ↔ str? | ☐ |
| Știu caracter ↔ cod prin ord()/chr()? | ☐ |
| Știu operatorii matematici și de comparație? | ☐ |
| Pot folosi if / elif / else? | ☐ |
| Pot folosi and / or / not? | ☐ |
| Pot urmări manual valorile variabilelor? | ☐ |