Devoir sur les bases de Python
L'usage de la calculatrice n'est pas autorisé
Durée: 55 min
Exercice 1
Écrire ci-dessous les instructions afin que la variable points_de_vie
soit diminuée de 3:
Corrigé
points_de_vie = points_de_vie-3
Exercice 2
Que va afficher le script python suivant ?
a = 20
if a < 5:
a = 10
elif a > 1:
a = 1
elif a > 100:
a= 500
else:
a= 0
print(a)
a) | b) | c) | d) |
---|---|---|---|
0 | 1 | 20 | 500 |
Corrigé
RĂ©ponse a)
Exercice 3
Lequel des programmes ci-dessous affichera 10, 11, 12, 13, 14, 15, 16, 17 ?
a)
a= 9
while a <= 17:
print(a)
a = a+ 1
a= 10
while a < 17:
a = a+ 1
print(a)
for i in range (10,17) :
print(i)
for i in range (8) :
print(i+10)
Corrigé
RĂ©ponse d)
Exercice 4
Quel est le résultat attendu après l’exécution de ce programme ?
a= 5
b = 10
if a > 5 and b == 10 :
print("toto")
else :
print("titi")
if a > 5 or b == 10 :
print("tata")
else :
print("tutu")
a) | b) | c) | d) |
---|---|---|---|
titi | titi | toto | toto |
tata | tutu | tata | tutu |
Corrigé
RĂ©ponse a)
Exercice 5
Quelle est la réponse affichée après l’exécution du programme Python suivant ?
var = 0
compteur = 0
while var < 100 :
var = 10*compteur
compteur += 1
print(compteur,var)
a) | b) | c) | d) |
---|---|---|---|
Rien ne s’affiche, on est dans une boucle infinie. | 10 90 | 11 100 | compteur var |
Corrigé
RĂ©ponse c)
Exercice 6
Que va afficher le programme suivant ?
i=5
i += 1
if i % 3 == 0:
print(i, "est divisible par 3")
else:
print(i, "n’est pas divisible par 3")
a) | b) | c) | d) |
---|---|---|---|
5 n’est pas divisible par 3 | 6 est divisible par 3 | i est divisible par 3 | i n'est pas divisible par 3 |
Corrigé
RĂ©ponse b)
Exercice 7
On considère le programme suivant :
for lettre in "MARDI":
print(lettre)
Corrigé
M
A
R
D
I
Exercice 8
Une liste de notes et de coefficients est donnée sous la forme: L=[note1,coef1,note2,coef2,...]
Proposer un code pour que le programme affiche alors la moyenne des notes ainsi que la plus grande note de la liste.
Corrigé
compteur = 0
somme_notes = 0
somme_coeff = 0
grande_note=L[0]
while compteur<len(L):
somme_notes = somme_notes + L[compteur]*L[compteur+1]
somme_coeff = somme_coeff + L[compteur+1]
compteur = compteur+2
if L[compteur]>grande_note:
grande_note=L[compteur]
print("Moyenne :",somme_notes/somme_coeff)
print("Plus grande note",grande_note)
Exercice 9
Le but de cet exercice est d'Ă©crire un programme qui joue Ă papier-caillou-ciseaux.
Écrire un programme qui prend les choix des deux joueurs en paramètres et qui retourne 1 si le premier joueur gagne, -1 si c'est le second joueur, et 0 sinon.
Modifier le programme pour que l'on puisse jouer 50 fois Ă ce jeu.
Les choix des joueurs sont aléatoires.
On affichera Ă la fin quel est le joueur gagnant.
Corrigé
import random
#0 papier 1 caillou 2 ciseau
def partie(a,b):
if a==b:
return 0
elif a=0 and b=1:
return 1
elif a=0 and b=2:
return -1
elif a=1 and b=0:
return -1
elif a=1 and b=2:
return 1
elif a=2 and b=0:
return 1
elif a=2 and b=1:
return -1
J1=0
J2=0
for i in range(50):
if partie(random.randint(2),random.randint(2))==-1:
J2=J2+1
if partie(random.randint(2),random.randint(2))==1:
J1=J1+1
if J1==J2:
print("pas de gagnant")
elif: J1>J2:
print("J1 gagnant")
else:
print("J2 gagnant")