QCM : Booléens et opérateurs de comparaison en Python
[enonce]
Ce QCM porte sur les booléens et les opérateurs de comparaison en Python. Choisissez la bonne réponse parmi les quatre propositions.
[/enonce]
[etape]
Quel opérateur Python utilise-t-on dans une condition pour tester si deux valeurs sont égales ?
[qcm]
[option]=[/option]
[option correct="true"]==[/option]
[option]!=[/option]
[option]<=[/option]
[reponse statut="correct"]Exact !
L'opérateur d'égalité dans un test est == (double signe égal). Le signe = simple est réservé à l'affectation d'une valeur à une variable.[/reponse]
[reponse motif="="]Non.
Le signe = est l'opérateur d'affectation, pas un test d'égalité. Son usage dans une condition provoque une erreur en Python.[/reponse]
[reponse motif="!="]Non.
!= est l'opérateur « différent de », pas « égal à ».[/reponse]
[reponse motif="<="]Non.
<= signifie « inférieur ou égal à ». Il ne teste pas la stricte égalité.[/reponse]
[reponse statut="incorrect"]Non.
Règle à retenir : = affecte, == teste l'égalité.[/reponse]
[/qcm]
[/etape]
[etape]
Que vaut l'expression 10 >= 10 en Python ?
[qcm]
[option]False[/option]
[option correct="true"]True[/option]
[option]10[/option]
[option]Une erreur est provoquée[/option]
[reponse statut="correct"]Bonne réponse !
L'opérateur >= signifie « supérieur ou égal à ». Comme $10 = 10$, l'égalité est vérifiée, donc l'expression vaut True.[/reponse]
[reponse motif="False"]Non.
Le piège : >= inclut le cas d'égalité (contrairement à > qui l'exclut). Ici $10$ n'est pas strictement supérieur à $10$, mais il est bien supérieur ou égal.[/reponse]
[reponse motif="10"]Non.
Une comparaison renvoie toujours un booléen (True ou False), jamais un nombre.[/reponse]
[reponse motif="Une erreur est provoquée"]Non.
Les opérateurs de comparaison fonctionnent parfaitement entre deux valeurs numériques égales.[/reponse]
[reponse statut="incorrect"]Non.
>= autorise le cas d'égalité. Ici $10$ est bien supérieur ou égal à lui-même.[/reponse]
[/qcm]
[/etape]
[etape]
Que vaut l'expression 'abc' == 'ABC' en Python ?
[qcm]
[option]True[/option]
[option correct="true"]False[/option]
[option]'abc'[/option]
[option]Une erreur est provoquée[/option]
[reponse statut="correct"]Bravo !
Python distingue les majuscules des minuscules (on parle de casse). Les chaînes 'abc' et 'ABC' sont donc différentes, et l'égalité renvoie False.[/reponse]
[reponse motif="True"]Non.
Piège fréquent : Python est sensible à la casse. 'a' et 'A' sont considérés comme deux caractères différents.[/reponse]
[reponse motif="'abc'"]Non.
Une comparaison renvoie toujours un booléen (True ou False), pas une chaîne.[/reponse]
[reponse motif="Une erreur est provoquée"]Non.
Comparer deux chaînes de caractères est parfaitement autorisé en Python.[/reponse]
[reponse statut="incorrect"]Non.
Python fait la différence entre minuscules et majuscules. Comparer chaque caractère un à un.[/reponse]
[/qcm]
[/etape]
[etape]
Que vaut l'expression not True en Python ?
[qcm]
[option correct="true"]False[/option]
[option]True[/option]
[option]0[/option]
[option]Une erreur est provoquée[/option]
[reponse statut="correct"]Exactement !
L'opérateur not inverse la valeur d'un booléen : not True vaut donc False, et not False vaut True.[/reponse]
[reponse motif="True"]Non.
not inverse la valeur : appliquer not à True donne forcément False.[/reponse]
[reponse motif="0"]Non.
Le résultat d'une opération booléenne est toujours un booléen (True ou False), pas un nombre.[/reponse]
[reponse motif="Une erreur est provoquée"]Non.
not suivi d'un booléen est une instruction parfaitement valide.[/reponse]
[reponse statut="incorrect"]Non.
Le mot-clé not inverse la valeur de vérité.[/reponse]
[/qcm]
[/etape]
[etape]
Que vaut l'expression False or True en Python ?
[qcm]
[option]False[/option]
[option]None[/option]
[option correct="true"]True[/option]
[option]Une erreur est provoquée[/option]
[reponse statut="correct"]C'est bien ça !
L'opérateur or (« ou ») est vrai dès qu'au moins une des deux conditions est vraie. Ici, la seconde est vraie, donc le résultat est True.[/reponse]
[reponse motif="False"]Non.
or n'exige pas que les deux conditions soient vraies : une seule suffit. Ici True est présent, donc le résultat est True.[/reponse]
[reponse motif="None"]Non.
None est une valeur spéciale de Python, mais ce n'est pas le résultat d'un or entre deux booléens.[/reponse]
[reponse motif="Une erreur est provoquée"]Non.
or entre deux booléens est une opération parfaitement valide.[/reponse]
[reponse statut="incorrect"]Non.
or : une seule des deux conditions vraies suffit pour que le résultat soit True.[/reponse]
[/qcm]
[/etape]
[etape]
Que vaut l'expression True and True and False en Python ?
[qcm]
[option]True[/option]
[option correct="true"]False[/option]
[option]None[/option]
[option]Une erreur est provoquée[/option]
[reponse statut="correct"]Tu as raison !
L'opérateur and exige que toutes les conditions soient vraies. Dès qu'une seule est fausse, le résultat est False. Ici, la troisième est fausse.[/reponse]
[reponse motif="True"]Non.
and n'est vrai que si toutes les conditions sont vraies simultanément. Vérifier la dernière : est-elle vraie ?[/reponse]
[reponse motif="None"]Non.
None n'est jamais le résultat d'un and entre booléens.[/reponse]
[reponse motif="Une erreur est provoquée"]Non.
On peut enchaîner plusieurs and sans problème. Il s'agit simplement d'un test combiné.[/reponse]
[reponse statut="incorrect"]Non.
and : si une seule condition est fausse, l'ensemble est faux.[/reponse]
[/qcm]
[/etape]