ds bases 24 25A
Exercice 1 : Cochez la ou les réponses correctes
-
Qu'affiche le code suivant ?
x = 6 y = 2 print(x ** y) print(x // y)
\(\square\) \(\square\) \(\square\) \(\square\) 66 36 66 36 0 0 3 3 -
Qu'affiche le code suivant ?
var1 = 1 var2 = 2 var3 = "3" print(var1 + var2 + var3)
\(\square\) \(\square\) \(\square\) \(\square\) 6 33 123 Error -
Qu'affiche le code suivant ?
valueOne = 5 ** 2 valueTwo = 5 ** 3 print(valueOne) print(valueTwo)
\(\square\) \(\square\) \(\square\) 10 25 Error: invalid syntax 15 125 -
Quelle est la valeur de
x
après l'exécution du code :x = 0 while (x < 100): x+=2 print(x)
\(\square\) \(\square\) \(\square\) \(\square\) 101 99 100 Boucle infinie -
Qu'affiche le code suivant ?
numbers = [10, 20] items = ['Chair', 'Table'] for x in numbers: for y in items: print(x, y)
\(\square\) \(\square\) 10 'Chair' 10 'Chair' 10 'Table' 10 'Table' 20 'Chair' 20 'Table' -
Qu'affiche le code suivant ?
for num in range(-2,-5,-1): print(num)
\(\square\) \(\square\) \(\square\) \(\square\) -2, -1, -3, -4 -2, -1, 0, 1, 2, 3 -2, -1, 0 -2, -3, -4 -
Qu'affiche le code suivant ?
x = 0 a = 5 b = 5 if a > 0: if b < 0: x = x + 5 elif a > 5: x = x + 4 else: x = x + 3 else: x = x + 2 print(x)
\(\square\) \(\square\) \(\square\) \(\square\) 0 4 2 3 -
Qu'affiche le code suivant ?
res='' for car in 'Jhon': if car != 'o': res=res+car print(res)
\(\square\) \(\square\) \(\square\) 'Jhn' 'Jhon' 'J' 'Jh' 'Jhn' -
Qu'affiche le code suivant ?
for num in range(10, 14): for i in range(2, num): if num%i == 1: print(num) break
\(\square\) \(\square\) \(\square\) 10 10 11 11 13 12 13 -
Qu'affiche le code suivant ?
x = 75 def myfunc(): x = x + 1 print(x) myfunc() print(x)
\(\square\) \(\square\) \(\square\) \(\square\) Error 76 1 None
Exercice 2
Voici la réduction pour le prix d'un billet de train en fonction de l'âge du voyageur :
-
réduction de 50% pour les moins de 10 ans ;
-
réduction de 30% pour les 10 à 18 ans ;
-
réduction de 20% pour les 60 ans et plus.
Écrire une fonction reduction(age)
en Python qui retourne le pourcentage (valeur entière) de réduction en fonction de la variable age
.
Corrigé
def reduction(age):
if age<10:
return 50
elif age<18:
return 30
elif age<60:
return 0
else:
return 20
Exercice 3
Écrire une fonction sommeinverse(nombre)
en Python qui retourne la somme des inverses de 1
jusqu'Ă nombre
. La variable nombre
est un nombre entier.
Exemples
sommeinverse(1)
retourne 1
sommeinverse(2)
retourne 1.5
car \(1+\dfrac{1}{2}=1.5\)
sommeinverse(3)
retourne 1.833333333333333
car \(1+\dfrac{1}{2}+\dfrac{1}{3} \approx 1.833333333333333\)
Corrigé
def sommeinverse(nombre):
S=0
for i in range(1,nombre+1):
S=S+1/i
return S
Exercice 4
On dispose de la liste suivante:
scrabble = ['A',1,'B',3,'C',3,'D',2,'E',1,'F',4,'G',2,'H',4,
'I',1,'J',8,'K',10,'L',1,'M',2,'N',1, 'O',1,
'P',3,'Q',8,'R',1,'S',1,'T',1,'U',1,'V',4,'W',10,
'X',10,'Y',10,'Z',10]
Chaque lettre de l'alphabet est suivie du nombre de points qui lui est attribué au scrabble.
Écrire une fonction `points' en Python spécifiée comme suit:
def points(mot):
"""retourne le nombre de points obtenus au scrabble pour la variable 'mot'"""
Aide
On pourra commencer par écrire une fonction qui retourne le nombre de points d'une lettre.
Corrigé
def points(lettre):
for i in range(len(scrabble)):
if scrabble[i]==lettre:
return scrabble[i+1]
def pointsmot(mot):
P=0
for lettre in mot:
P=P+points(lettre)
return P
Exercice 5 (from codex)
Écrire une fonction nb_max_consecutifs(motif,phrase)
qui prend en arguments un caractère motif
(une chaine de caractères de longueur 1), et une chaine de caractères phrase
à analyser. La fonction retourne le nombre maximal d'occurrences consécutives de motif
dans phrase
.
Exemple
>>> phrase = "Dans une phrase !!! écrite !!! certains utilisateurs abusent des points d'exclamations !!"
>>> nb_max_consecutifs("!", phrase)
3
Corrigé
def nb_max_consecutifs(motif, phrase):
compteur = 0
maxi = 0
for lettre in phrase :
if lettre==motif :
compteur = compteur + 1
else :
if compteur > maxi :
maxi = compteur
compteur = 0
return maxi