[enonce]
Pour chaque affirmation suivante sur les modules Python et les combinaisons de fonctions, indiquez si elle est Vraie ou Fausse.
[/enonce]
[etape]
On exécute le programme Python ci-dessous :
import math
print(math.sqrt(9))
Affirmation : Ce programme affiche $3{,}0$.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Bravo !
La fonction sqrt du module math calcule la racine carrée, qui est ici $\sqrt{9} = 3$.
Le résultat est renvoyé sous forme de float, soit $3{,}0$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : math.sqrt renvoie toujours un float.
$\sqrt{9} = 3$, affiché sous la forme $3{,}0$.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. math.sqrt(9) renvoie $3{,}0$ (float).
[/solution]
[/etape]
[etape]
On considère l'instruction Python suivante :
from random import randint
x = randint(1, 6)
Affirmation : La variable x peut prendre les valeurs $1, 2, 3, 4$ ou $5$.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Exactement !
La fonction randint(a, b) renvoie un entier aléatoire entre a et b, bornes incluses.
randint(1, 6) peut donc donner $1, 2, 3, 4, 5$ ou $6$ (simulation d'un dé à 6 faces).[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention à bien distinguer randint de range : randint(a, b) inclut la borne b.
La valeur $6$ est donc possible ; c'est d'ailleurs la fonction qui sert à simuler un dé à $6$ faces.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. randint(1, 6) inclut les deux bornes : $x$ peut aussi valoir $6$.
[/solution]
[/etape]
[etape]
Affirmation : Après avoir écrit from math import sqrt, on peut utiliser sqrt(25) sans préfixe.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]C'est bien ça !
L'instruction from math import sqrt importe uniquement la fonction sqrt et permet de l'appeler directement, sans le préfixe math.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Il ne faut pas confondre import math (qui impose le préfixe math.sqrt) et from math import sqrt (qui rend sqrt accessible directement).
Avec from math import sqrt, sqrt(25) renvoie $5{,}0$ sans préfixe.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. from math import sqrt permet d'appeler directement sqrt(...) sans écrire math..
[/solution]
[/etape]
[etape]
On considère le programme Python ci-dessous :
def carre(x) :
return x*x
def somme_carres(a, b) :
return carre(a) + carre(b)
print(somme_carres(3, 4))
Affirmation : Ce programme affiche $25$.
[qcm]
[option correct="true"]Vrai[/option]
[option]Faux[/option]
[reponse statut="correct"]Tu as raison !
Une fonction peut en appeler une autre.
somme_carres(3, 4) calcule carre(3) + carre(4) = $9 + 16 = 25$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est vraie.
Rappel : une fonction peut utiliser d'autres fonctions dans son corps.
somme_carres(3, 4) renvoie $3^2 + 4^2 = 9 + 16 = 25$.[/reponse]
[/qcm]
[solution]
Cette affirmation est vraie. somme_carres(3, 4) renvoie $9 + 16 = 25$.
[/solution]
[/etape]
[etape]
Affirmation : Pour utiliser la fonction cos du module math sans préfixe, il faut écrire import math.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Bonne réponse !
import math impose le préfixe : il faut écrire math.cos(...).
Pour appeler cos sans préfixe, il faut utiliser from math import cos ou from math import *.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Attention à la différence entre import module et from module import fonction.
Avec import math, on doit écrire math.cos(0). Pour l'appeler sans préfixe, il faut from math import cos.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. import math impose le préfixe math.cos. Pour l'éviter, il faut écrire from math import cos.
[/solution]
[/etape]
[etape]
On considère la fonction Python ci-dessous :
from random import randint
def lance_de() :
nb_six = 0
for i in range(6) :
if randint(1, 6) == 6 :
nb_six = nb_six + 1
return nb_six
Affirmation : L'appel lance_de() renvoie toujours $1$.
[qcm]
[option]Vrai[/option]
[option correct="true"]Faux[/option]
[reponse statut="correct"]Correct !
La fonction simule $6$ lancers d'un dé et compte les $6$ obtenus. Ce nombre est aléatoire : il peut valoir $0$, $1$, $2$, …, jusqu'à $6$.
Ce n'est pas parce que l'espérance est proche de $1$ que le résultat est toujours $1$.[/reponse]
[reponse statut="incorrect"]Non, cette affirmation est fausse.
Le piège est de confondre fréquence théorique ($1/6$) et résultat d'une simulation.
Sur $6$ lancers, on peut très bien obtenir $0$, $2$ ou même $6$ fois le $6$ : le résultat varie d'un appel à l'autre.[/reponse]
[/qcm]
[solution]
Cette affirmation est fausse. Le résultat est aléatoire : il peut prendre toute valeur entière entre $0$ et $6$, pas toujours $1$.
[/solution]
[/etape]