📘 Lecție de Python pentru clasa a 9-a și BAC, cu explicații video de la profesor. Mai jos ai rezumatul. În lecția completă găsești probleme cu simulator, în care vezi pas cu pas cum se schimbă variabilele, compilator Python în browser, exerciții propuse cu indicii și rezolvare, și pe Alex, asistentul care îți dă indicii, îți explică algoritmul și îți corectează codul.
for i in range(start, stop, pas):
# instructiuni (indentate)
Bucla for e potrivită când numărul de repetări e cunoscut dinainte. Variabila i primește pe rând fiecare valoare din range: de la start (implicit 0), cu pasul dat (implicit 1), până la stop, fără stop. De exemplu, range(1, 6) dă 1, 2, 3, 4, 5, iar range(10, 0, -1) dă 10, 9, ..., 1.
n = int(input())
s = 0
for i in range(1, n + 1):
s = s + i
print(s)
1. Care e diferența dintre for și while în Python? for parcurge valorile unei secvențe stabilite dinainte (de exemplu un range), deci numărul de pași e cunoscut; while repetă cât timp o condiție este adevărată, iar inițializarea și actualizarea se scriu separat.
2. De ce range(1, n) nu ajunge până la n? Capătul stop nu este inclus niciodată. Pentru valorile 1, 2, ..., n scrii range(1, n + 1).
3. Cum parcurg numerele descrescător? Cu pas negativ: range(10, 0, -1) dă 10, 9, ..., 1. Fără pas negativ, range(10, 1) este gol și corpul nu se execută deloc.
4. Poate un for cu range să devină buclă infinită? Nu. range se calculează o singură dată, la intrarea în buclă, și are un număr fix de valori; un pas 0 dă eroare (ValueError).
5. Pot avea o buclă for în interiorul alteia? Da. Bucla interioară se reia complet pentru fiecare valoare a celei exterioare, de exemplu la generarea perechilor de numere sau la testarea primalității pentru fiecare număr dintr-un interval.