Première NSI • Programmation • QCM /20

Python : les fondamentaux

Maîtrise les variables, conditions, boucles, fonctions et collections grâce à des exemples expliqués et un simulateur d'exécution pas à pas.

def carre(n):
    return n * n

print(carre(5))
# 25

1. Variables et types

Une variable associe un nom à une valeur. Python détermine automatiquement son type.

age = 16              # int : entier
taille = 1.75          # float : décimal
prenom = "Ada"         # str : chaîne
inscrit = True         # bool : booléen
print(type(age))       # <class 'int'>

Attention : = réalise une affectation, alors que == compare deux valeurs. input() renvoie une chaîne : utilise int(input(...)) pour lire un entier.

Opérations numériques

+ - * / : opérations usuelles ; // : quotient entier ; % : reste ; ** : puissance.

Exemple : 17 // 5 = 3 ; 17 % 5 = 2.

Comparaisons et logique

== != < <= > >= renvoient un booléen. and, or, not combinent les conditions.

2. Conditions et indentation

Les blocs sont délimités par l'indentation, généralement quatre espaces.

note = 13
if note >= 16:
    print("Très bien")
elif note >= 10:
    print("Admis")
else:
    print("À revoir")

Une seule branche est exécutée : la première condition vraie, sinon le bloc else.

3. Boucles for et while

Répéter une instruction un nombre connu de fois ou tant qu'une condition reste vraie.

Boucle for

for i in range(4):
    print(i)
# 0, 1, 2, 3

La borne supérieure de range est exclue.

Boucle while

n = 1
while n < 10:
    n = n * 2
print(n) # 16

Il faut veiller à ce que la condition finisse par devenir fausse.

4. Fonctions

Une fonction regroupe des instructions réutilisables.

def aire_rectangle(largeur, longueur):
    aire = largeur * longueur
    return aire

resultat = aire_rectangle(3, 5)
print(resultat)  # 15

def définit la fonction, les paramètres reçoivent les arguments, et return renvoie un résultat. Une variable créée dans la fonction est en principe locale.

Différence : print() affiche une valeur, tandis que return permet de la récupérer pour la réutiliser.

5. Listes, chaînes, tuples et dictionnaires

Les indices des séquences commencent à zéro.

Listes : modifiables

notes = [12, 15, 9]
print(notes[0]) # 12
notes.append(18)
notes[1] = 16
print(len(notes)) # 4

Chaînes : non modifiables

mot = "python"
print(mot[0]) # p
print(mot[-1]) # n
print(mot[1:4]) # yth

Tuples : non modifiables

point = (3, 5)
x, y = point
print(x) # 3

Dictionnaires : clés et valeurs

eleve = {"nom": "Ada", "age": 16}
print(eleve["age"]) # 16
eleve["age"] = 17

On peut parcourir une liste avec for valeur in liste, ou ses indices avec for i in range(len(liste)).

6. Les erreurs classiques

Comprendre le message d'erreur aide à corriger le programme.

SyntaxError

Instruction mal écrite, par exemple deux-points manquants après if.

IndentationError

Bloc mal indenté.

TypeError

Opération incompatible entre des types, par exemple 3 + "4".

IndexError / KeyError

Indice absent d'une liste / clé absente d'un dictionnaire.

Une erreur logique peut aussi produire un résultat faux sans déclencher d'exception : il faut tester son programme avec plusieurs cas.

7. Exécution pas à pas

Observe l'évolution des variables et de la sortie à chaque instruction.

Simulateur pédagogique

Il illustre trois programmes prédéfinis : ce n'est pas un interpréteur Python libre.

Variables

Sortie : —

Prêt à démarrer.

8. Exercices d'entraînement

Prédit le résultat puis vérifie ta réponse.

Exercice A — Calcul

x = 7
x = x // 2 + 4
print(x)

Exercice B — Boucle

s = 0
for i in range(1, 4):
    s = s + i
print(s)

Exercice C — Listes

L = [4, 8, 12]
L.append(3)
print(L[1] + L[-1])

9. QCM — 20 questions

Une bonne réponse par question, note sur 20 et corrections détaillées.