abs, round, len, min, max, sum — fără niciun import. Plus lista: operatori, metode, slicing. Tot ce cere programa la punctul 3.5, cu laboratoare în care testezi totul pe loc.
Vin cu Python — nu necesită niciun import. Cele mai folosite în clasa a IX-a:
Distanța până la 0; merge cu int și float.
La n zecimale (fără n: la întreg). Atenție: „rotunjire bancară" — 0.5 merge spre PAR!
Conversii. int() TRUNCHIAZĂ, nu rotunjește!
Necesită import math — sau trucul x ** 0.5 fără import.
Numărul de elemente dintr-o colecție (listă).
Argumente separate SAU o singură colecție (listă).
Suma elementelor; opțional o valoare de start. Media = sum/len!
sorted() = listă NOUĂ sortată · type() = tipul · range() = secvențe.
Programa, punctul 3.5: acces la element, apartenență, concatenare, multiplicare, relaționare.
v[0] = primul; v[-1] = ultimul, v[-2] = penultimul. Indexurile negative numără de la coadă.
Există elementul în listă? Returnează True/False.
Unește două liste într-una NOUĂ; originalele rămân neschimbate.
Repetă elementele de n ori. Trucul clasic: lista de n zerouri.
Lexicografic: element cu element, de la stânga, ca la dicționar.
Programa, punctul 3.5: index, count, pop, insert, append, copy, sort. Le apeși — lista vie de mai jos reacționează.
GREȘIT: b = a — același balon, două sfori
CORECT: b = a.copy() — două liste separate
| Metodă | Ce face | Returnează |
|---|---|---|
| .append(x) | adaugă x la final | None |
| .insert(i, x) | inserează x la poziția i, restul se mută la dreapta | None |
| .pop(i) | elimină și returnează elementul de la i (fără i: ultimul) | elementul eliminat |
| .index(x) | poziția primei apariții — EROARE dacă x nu există! | int |
| .count(x) | numărul aparițiilor lui x (0 dacă lipsește) | int |
| .copy() | copie independentă | list (nouă) |
| .sort() | sortează crescător IN-PLACE (reverse=True: descrescător) | None |
O listă întreagă, dintr-o singură expresie. Foarte „pythonic" — și foarte util la teme.
Cinci probleme care combină funcțiile și metodele de mai sus.
5 note: 7 9 5 10 8 → 7.8
3 1 4 1 5 3 → [3, 1, 4, 5] — ordinea primei apariții
1 2 3 4 / 3 4 5 6 → [3, 4]
3 1 3 2 1 3 → 3 apare de 3 ori · 1 de 2 · 2 de 1. (Anticipează vectorul de frecvențe din M08!)
1 2 3 4 5, k=2 → [3, 4, 5, 1, 2] — o linie de slicing în loc de bucle întregi.
8 întrebări. Fiecare răspuns e într-una din secțiunile de mai sus.
Python-ul de zi cu zi, pe scurt.