📘 Corrigé et explications (10 questions)
1. Quelles affirmations sont correctes concernant la boucle for en Python ?
Bonne réponse : La boucle for peut être utilisée avec la fonction range(). — La boucle for peut parcourir une chaîne de caractères. — La boucle for utilise le mot-clé 'in' pour définir l'itérable.
Bien vu. La boucle for parcourt tout itérable (chaîne, liste, range) et utilise 'in'. Elle n'a pas de condition explicite (contrairement à while).
2. Quelles sont les syntaxes correctes pour une structure conditionnelle en Python ?
Bonne réponse : if x > 0: print('positif')\nelse: print('négatif') — if x > 0: print('positif')
Exact. En Python, le 'then' n'existe pas (b est faux), et le else doit être sur une nouvelle ligne (c est faux car else sur la même ligne après print).
3. Quelles boucles permettent de répéter une instruction au moins une fois ?
Bonne réponse : Aucune boucle standard en Python ne garantit une exécution au moins une fois.
Tout juste. Python n'a pas de boucle do...while ; la condition de while est testée avant chaque itération, donc zéro possible. For aussi peut avoir un itérable vide.
4. Quels opérateurs logiques sont utilisés en Python pour combiner des conditions ?
Bonne réponse : or — not — and
Bravo. Python utilise 'and', 'or' et 'not' (pas de 'xor' natif).
5. Quelles sont les bonnes pratiques pour éviter une boucle while infinie ?
Bonne réponse : S'assurer que la variable de condition est modifiée dans la boucle. — Ajouter un break bien placé si nécessaire.
Correct. Il faut modifier la variable de condition (a) et on peut utiliser break (c). Une condition toujours vraie (b) est une cause d'infinie ; les entrées utilisateur (d) ne sont pas un problème si bien gérées.
6. Quelles instructions permettent de sortir prématurément d'une boucle en Python ?
Bonne réponse : break — return (dans une fonction)
Exact. break sort de la boucle, return sort de la fonction (donc aussi de la boucle). continue passe à l'itération suivante, exit() termine le programme.
7. Quelles expressions booléennes sont équivalentes à True en Python ?
Bonne réponse : 3 > 2 — 0 == False
Bien vu. 3 > 2 est vrai, 0 == False est vrai car 0 est considéré comme False. None et [] sont évalués à False dans un contexte booléen.
8. Quelles sont les syntaxes correctes pour une boucle for avec range ?
Bonne réponse : for i in range(1, 5, 2): — for i in range(5): — for i in range(1, 5):
Correct. range(stop), range(start, stop), range(start, stop, step) sont valides. range(5,1) génère une séquence vide (start > stop sans step négatif).
9. Quels sont les mots-clés utilisés dans une structure conditionnelle en Python ?
Bonne réponse : elif — else — if
Exact. Les mots-clés sont if, elif et else. 'when' n'existe pas en Python.
10. Quelles affirmations sont vraies concernant la boucle while ?
Bonne réponse : On peut utiliser un else après la boucle while. — La condition peut être une expression booléenne complexe. — La condition est évaluée avant chaque itération.
Bravo. La condition est testée avant (a), peut être complexe (b), et un else optionnel s'exécute si la boucle se termine normalement (pas par break). Attention : le corps peut ne pas s'exécuter du tout (c est faux).
