NSI·NSISeconde

Bases de Python

Python te pardonne tout. Sauf l'indentation. Là, il déteste.

Cours

Variables et types

x = 42         # int
pi = 3.14      # float
nom = "Alice"  # str
ok = True      # bool

Conditions

if x > 10:
    print("grand")
elif x > 0:
    print("moyen")
else:
    print("petit ou négatif")

Boucles

for i in range(5):
    print(i)

while x > 0:
    x -= 1

Fonctions

def carre(n):
    return n * n

print(carre(5))  # 25

Listes

L = [1, 2, 3]
L.append(4)       # [1,2,3,4]
L[0]              # 1
len(L)            # 4
for x in L: print(x)

Formules clés

Range
range(n) → 0,1,...,n-1
Range avec pas
range(a,b,p) → a, a+p, ... < b

Méthodes

Écrire une fonction

  1. 1Définir avec def nom(args):
  2. 2Indenter le corps (4 espaces)
  3. 3Utiliser return pour renvoyer
  4. 4Tester avec des appels

Astuces & pièges

Astuce de bg

L'indentation Python EST la syntaxe. Pas d'accolades, pas de parenthèses pour les blocs. 4 espaces, partout, toujours.

Piège à éviter

L[0] est le PREMIER élément, L[-1] est le DERNIER. Pas L[1] et L[len(L)]. Sinon IndexError.

Si Python plante, lis l'erreur. Vraiment. Ce truc te dit littéralement ce qui ne va pas. Magie noire.

Teste-toi

1.range(5) génère :

2.L = [10, 20, 30]. L[-1] = ?