Devoir sur les bases de Python AA
L'usage de la calculatrice n'est pas autorisé
Durée: 55 min
Exercice 1
Que vaut a
après l'exécution du script suivant ?
a = 3
a = a + 2
a = 3*a
a) | b) | c) | d) |
---|---|---|---|
3*a |
3 | a | 15 |
Exercice 2
Que va afficher le script python suivant ?
a = 3
b = `2`
a = str(a)
print (a + b)
a) | b) | c) | d) |
---|---|---|---|
5 | 32 | ERROR | 3+2 |
Exercice 3
Quel est le résultat affiché par le script suivant ?
a = 3
b = 6
if (a > 5) or (b != 10) :
b = 4
else :
b = 2
print (b)
a) | b) | c) | d) |
---|---|---|---|
2 | 4 | 6 | ERROR |
Exercice 4
Quel est le résultat du script suivant ?
x = "Bonsoir"
nombre = 0
for c in x :
nombre = nombre + 1
print (nombre)
a) | b) | c) | d) |
---|---|---|---|
7 | 9 | 0 | 8 |
Exercice 5
Quel est le résultat attendu après l’exécution de ce programme ?
CauseToujours = 10
while (CauseToujours > 0) :
CauseToujours = CauseToujours + 10
print (CauseToujours)
a) | b) | c) | d) |
---|---|---|---|
100 | 10 | Rien | CauseToujours |
Exercice 6
Quelle est la réponse affichée après l’exécution du programme Python suivant ?
def test (a):
a = a + 10
return a
a = 20
print(a)
a = test(40)
print(a)
a) | b) | c) | d) |
---|---|---|---|
20 20 | 20 50 | Erreur | 20 40 |
Exercice 7
Que va afficher le programme suivant ?
def augmente():
global valeur
valeur = valeur + 1
valeur = double (valeur)
return valeur
def double (valeur):
valeur = 2*valeur
return valeur
valeur = 10
resultat = augmente()
print(resultat)
print(valeur)
a) | b) | c) | d) |
---|---|---|---|
22 22 | 22 10 | 22 11 | 22 20 |
Exercice 8
On considère le programme suivant :
nombre = 0
for i in range (1,6) :
nombre = nombre - 2
print(nombre)
Écrire sur la feuille annexe ce qui s'affiche sur la console lors de l'exécution de ce programme.
Exercice 9
Écrire une fonction nettoie
qui retourne une liste à laquelle on a enlevé tous les éléments égaux à 0. Aucune méthode sur les listes n'est souhaitée.
Exemple :
>>>nettoie([1,4,0,'truc',0,9])
>>>[1,4,'truc',9]
Aide: [7]+[10,2] retourne [7,10,2]
Corrigé
def nettoie(L):
res=[]
for e in L:
if e !=0:
res=res+[e]
return res
Une autre version avec une liste créée par compréhension.
def nettoie(L):
return [element for element in L if element != 0]
Exercice 10
Écrire une fonction compare(chaine1,chaine2)
qui retourne True
si deux chaînes de caractères contiennent les mêmes caractères (pas forcément dans le même ordre ni le même nombre) et False
sinon.
Corrigé
def compare(chaine1,chaine2):
res = True
for elem in chaine1:
res = res and elem in chaine2
if res == False:
return False
else:
for elem in chaine2:
res = res and elem in chaine1
return res