Corrigés — Série d’exercices (Bac+2) — Python
A) Variables — Corrigés
1) Valides : nom, _x, total_sans_tva ; Non valides : 2compte (début par chiffre), class (mot-clé).
2) type(a)=int ; type(b)=str ; type(c)=float. Valeurs : 3 ; "3" ; 3.0
3) x,y,z = 1,2,3 puis x,y,z = z,x,y ⇒ x=3, y=1, z=2
4) [0,9,0] — a et b référencent la même liste (objet mutable).
5) first=10 ; middle=[20,30] ; last=40
B) Types de variables — Corrigés
1) float ; int ; str ; list (respectivement pour /, //, "5"*3, [1,2]+[3])
2) int et str immuables (non modifiables en place) ; list mutable (modifiable en place).
3) s[0]='P' ; s[-1]='n' ; s[1:4]='yth'
4) info['age']=21 ; list([Link]()) ou [Link]()
C) Spécificités du Python — Corrigés
1) a=1 ; b=0 (a=b=0 crée deux noms vers le même 0, puis a+=1 ré-assigne a).
2) b est un alias de a (même liste) donc voit l'append ; c est une copie superficielle qui ne voit pas l'élément
ajouté.
3) k1='x' ; v1=1 ; v2=2 ; k3='z'
4) tuple immuable ⇒ t+(3,) crée un nouvel objet ; liste mutable ⇒ L+=[3] modifie en place.
D) Affectation (mécanismes) — Corrigés
1) a, b = b, a
2) x=3 ; y=2
3) [7,0,0] (a et b référencent la même liste)
4) a, b = b, a
E) Conversions de types — Corrigés
1) int('42') == 42 ; int('3.14') → ValueError ; float('3e-2') == 0.03 ; str(2.5) == '2.5'
2) False, False, False, True, True (dans cet ordre)
3) Exemple : try: n=int(input('Entier ? ')); print('OK:', n) except ValueError: print('Erreur : saisie non entière.')
4) nom=input('Nom ? '); age=int(input('Âge ? ')); print(f'Bonjour {nom}, vous avez {age} ans')
F) Affichage & saisie — Corrigés
1) print(f"x={x} y={y}") ou print('x=', x, 'y=', y)
2) print(1, 2, 3, sep=' | ', end='.\n')
3) n=int(input('n ? ')); for i in range(1, n+1): print(f"{i} → {i*i}")
4) x=float(input('x ? ')); print(f"{x:.2f}")
Références (officielles)
• Python — Simple statements (affectation) : [Link]
• Python — Built-in types : [Link]
• Python — Built-in functions (int, float, str, bool, print, input) :
[Link]
• Python — Tutorial: Input and Output (f-strings, print) :
[Link]
• Python — Tutorial: Introduction (division / renvoie un float) :
[Link]
• PEP 498 — f-strings : [Link]