QCM Python – Partie 6

Questions pratiques pour testez vos connaissances sur la programmation Python à savoir des structures conditionnelles, des opérations logiques, des boucles, des fonctions, etc. Testez votre connaissance et travaillez sur les questions que vous trompez le plus souvent.
 
 

1. Quelle est la sortie du code suivant?
nbrs = [1, 2, 3]
print(nbrs)

A 1, 2, 3

B 1 2 3

C [1, 2, 3]

D [1 2 3]  
 

C
La variable nbrs est une liste, et lorsque vous utilisez la fonction print() pour afficher une liste, Python affiche la représentation de cette liste avec les éléments entre crochets [].
 

2. Quelle est la sortie du code suivant?
print 0.1 + 0.2 == 0.3

A False

B True

C Dépend du System

D Erreur

A
Le résultat de l’expression 0.1 + 0.2 == 0.3 est False en Python à cause de la manière dont les nombres à virgule flottante sont représentés en mémoire. Les nombres flottants en Python ne peuvent pas toujours être représentés de manière exacte en raison des limitations de précision de la représentation en virgule flottante. Le calcul 0.1 + 0.2 donne une valeur légèrement différente de 0.3 en raison de ces imprécisions internes.
 

3. Quelle est la sortie du code suivant?
print(5 >= 5)

A 5 >= 5

B True

C False

D None

B
L’opérateur >= signifie « supérieur ou égal ». Ici, l’expression 5 >= 5 est vraie, car 5 est effectivement égal à 5.
 

4. Lequel n’est pas un nombre complexe?

A z = 1 + 2j

B z = 1 + 2l

C z = 1 + 2J

D z = complex(1, 2)

B
En Python, les nombres complexes sont représentés avec un j ou un J (pas un l ou L) pour la partie imaginaire.
 

5. Une instruction utilisant l’opérateur « AND » donne « true » si _______

A Les deux opérandes sont « true »

B Les deux opérandes sont « false »

C L’un des opérandes est « true »

D Le premier opérande est « true »

A
L’opérateur AND (ou and en Python) donne True uniquement si les deux opérandes sont True. Si l’un ou les deux opérandes sont False, l’expression complète sera évaluée à False.
 
 

6. Lequel des énoncés suivants est correct à propos de Python?

A Il prend en charge automatiquement le garbage collector.

B Il peut être facilement intégré à C, C ++, COM, ActiveX, CORBA et Java.

C Les deux A et B sont vrais.

D Tout les réponses sont vrais

C
Python prend en charge le garbage collector (ramasse-miettes) automatiquement, ce qui signifie qu’il gère la mémoire en libérant les objets qui ne sont plus utilisés.

Python peut être intégré à d’autres langages comme C, C++, COM, ActiveX, CORBA et Java. Il existe des bibliothèques et des interfaces comme ctypes, Cython, PyWin32 et Jython qui permettent d’intégrer Python avec ces technologies.

 

7. Pour le code suivant, laquelle des affirmations suivantes est vraie?
def sayHello():
    print("Hello")     
str = sayHello()

A sayHello() est une fonction, str est une variable. Les deux ne sont pas des objets.

B sayHello() et str font référence au même objet.

C sayHello() et str font référence aux différents objets.

D Erreur de syntaxe! Vous ne pouvez pas affecter une fonction à une variable en Python.

C
  • sayHello() est une fonction qui, lorsqu’elle est appelée, affiche « Hello » dans la console. Cependant, cette fonction ne renvoie aucune valeur (elle ne contient pas de return).
  • Lors de l’affectation str = sayHello(), la fonction sayHello() est appelée, mais elle ne renvoie rien, donc la variable str va être assignée à la valeur spéciale None (qui est renvoyée par défaut par une fonction sans return).
  • str devient donc une variable contenant None, tandis que sayHello() est une fonction qui a été appelée, mais ne renvoie rien.

Cela signifie que sayHello() et str font référence à différents objets. str est une variable qui contient None, tandis que sayHello() est une fonction.

 

8. Quelle est la sortie du code suivant?
def fun1():
    global x
    x = 20
    def fun2():
        global x
        x = 30
        print('x =', x)  
x = 10
fun1()
print('x =', x)

A x = 10

B x = 20

C x = 30

D x = 10 x = 30

B
La fonction fun2() n’est pas appelée, donc son code n’a aucune incidence sur la valeur de x. La valeur de x après l’appel de fun1() est 20, car c’est la dernière affectation à la variable globale x.
 

9. Lequel de ces types de données n’est pas un type de base en Python?

A Lists

B Class

C Dictionary

D Tuples

B
En Python, les types de données de base (ou types primitifs) incluent: List, Dictionary, Tuple, etc.. Cependant, Class n’est pas un type de base. Les classes en Python sont utilisées pour créer des objets personnalisés et des types définis par l’utilisateur, mais elles ne font pas partie des types de données primitifs du langage.
 

10. Laquelle des affirmations suivantes est vraie?

A Un objet est construit à partir d’une classe

B Vous ne pouvez créer qu’un seul objet à partir d’une classe donnée.

C Les deux A et B sont vrais.

D Tout les réponses sont vrais

A
En Python (et dans la plupart des langages orientés objet), une classe sert de modèle ou de plan pour créer des objets. Un objet est une instance de cette classe.
 
 

3 réflexions sur “QCM Python – Partie 6

  • mars 17, 2020 à 10:43 am
    Permalien

    QCM partie 6
    1. Quelle est la sortie du code suivant?
    nbrs = [1, 2, 3]
    print(nbrs)
    A 1, 2, 3
    B 1 2 3
    C [1, 2, 3]
    D [1 2 3]

    votre réponse : A
    sur quelle version de python?
    en python 3.8, j’ai réponse C

    Répondre
    • mars 17, 2020 à 11:04 am
      Permalien

      En fait, c’est une erreur, cela ne dépend pas de la version.
      La réponse correcte est C.
      Merci pour cette remarque, c’est corrigé 🙂

      Répondre
  • octobre 2, 2021 à 3:26 am
    Permalien

    J’ai quelque remarques:
    – la question 2, print 0.1 + 0.2 == 0.3 donne une erreur de syntax si python3.x.
    – la question 6,  » Lequel des énoncés suivants est correct à propos de Python? … », si la réponse est « C », la réponse « D » doit être aussi correcte, donc le choix correct est « D »
    – la question 7, str = sayHello(), si on essaie print(id(str)) et print(id(sayHello()), les résulats de print sont les mêmes. C-a-d, la bonne réponse doit être « B » ?
    – la question 8 est correcte mais ça manque de l’explication. Si on modifie le code comme suivant :

    def fun1():
        global x
        x = 20
        def fun2():
            global x
            x = 30
            print('x =', x)
        return fun2()
    x = 10
    fun1()
    print('x =', x)

    Le résultat est x = 30 car la fonction fun2() est appellée, sinon, on n’appelle que fun1() donc x = 20.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *