Aller au contenu

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
b)
a= 10
while a < 17: 
    a = a+ 1
    print(a)
c)
for i in range (10,17) :
    print(i)
d)
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)
Écrire ci-contre ce qui s'affiche sur la console lors de l'exécution de ce programme.

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")