Aller au contenu

Devoir sur les bases de Python BA

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 = 12
b = 8
c = a
a = b
b = c 
print (a)
print (b)
a) b) c) d)
8 8 8 12 12 8 12 12

Exercice 2

Que va afficher le script python suivant ?

a = "3"
b = "2"
a = int(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 ?

prix=17
if (prix != 10) :
    print ("A")
elif (prix < 10) :
    print ("B")
else :
    print ("C")
a) b) c) d)
A C A B C C

Exercice 4

Quel est le résultat du script suivant ?

nombre = 0
for i in range (1,6) :
    nombre = nombre - 2
    print (nombre)
a) b) c) d)
-12 0 -2 -4 -6 -8 -10 -2 -4 -6 -8 -10 -10

Exercice 5

Quel est le résultat attendu après l’exécution de ce programme ?

rebourd = 15
while (rebourd > 0) :
    rebourd = rebourd - 2
print(rebourd)
a) b) c) d)
15 1 0 -1

Exercice 6

Quelle valeur est renvoyée par l'appel mystere(3, 5)?

def mystere(a, b):
    if a < b:
        return a*b
    else:
        return 2*a
a) b) c) d)
a*b 6 5 15

Exercice 7

Que va afficher le programme suivant ?

def g(x):
    a = a + x
    return a
a = 5
print(g(2))
a) b) c) d)
7 g(2) ERROR "a+2"

Exercice 8

On considère le programme suivant :

nombre = 0
for i in range (6) :
    nombre = nombre - 2
    print(nombre)

Écrire sur la copie ce qui s'affiche sur la console lors de l'exécution de ce programme.

Exercice 9

L'utilisateur donne un entier \(n\) entre 2 et 12, le programme donne le nombre de façons de faire \(n\) en lançant deux dés.

def calcul(n):
    res=0
    for d1 in range(6):
        for d2 in range(6):
            if d1+d2==n:
                res=res+1
    return res

Exercice 10

Une anagramme est un mot ou une expression obtenu en permutant les lettres d'un mot ou d'une expression de départ.

Écrire une fonction anagramme(mot1,mot2) qui retourne True si les deux mots sont des anagrammes, et False sinon.

def compter(lettre,mot):
    res=0
    for i in mot:
        if i==lettre:
            res=res+1
    return res

def anagramme(mot1,mot2):
    res=True
    if len(mot1)!=len(mot2):
        return False
    for lettre in mot1:
        res=res and compter(lettre,mot1)==compter(lettre,mot2)
    return res