CP1 ENSAS - S2
Programmation Python
Proposé par : Abdelhaq Lahlali
QCM Bases Python
Pour chaque programme, indiquez l’affichage attendu (”/” indiquera
un retour à la ligne)
Question 1
a = 5
b = a − 2
print (a∗b)
A 3 B 15 C 10 D 8
Question 2
a = 7
a += 2
a = a∗a + 1
print (a)
A 82 B 90 C 6 D 5
Question 3
a = 21
b = 5
print ( (a//b) + (a%b) )
A 5,2 B 5 C 4 D 5,25
Question 4
a = 7
if a <= 3:
print (2∗a−1)
elif a <= 10:
print (3∗a−2)
else :
print (4∗a−3)
A 13 B 25 C 7 D 19
y y
Question 5
for k in range (3):
print (k)
A 1/2/3 B 0/1/2 C 0/3/6 D 0/1/2/3
Question 6
for k in range (1 ,10 ,3):
print (k)
A 1/4/7 B 1/4/7/10 C 1/2/3/4/5/6/8/9 D 1/10
Question 7
somme = 0
for n in range (5):
somme = somme + n ∗∗2
print ( somme )
A 0/1/4/9/16 B 30 C 55 D 0/1/5/14/30
Question 8
somme = 0
for n in range (5):
somme = somme + n ∗∗2
print ( somme )
A 55 B 0/1/5/14/30 C 0/1/4/9/16 D 30
Question 9
k = 0
while k < 6 :
print (k)
k += 2
A 0/2/4 B 0/2/4/6 C 0/1/2/3/4/5 D 2/4/6
Question 10
k = 0
while k < 6 :
k += 2
print (k)
A 0/1/2/3/4/5 B 0/2/4/6 C 0/2/4 D 2/4/6
y y
Question 11
for lettre in " hello !":
print ( lettre )
A hello ! B h/e/l/l/o/ /! C hello/ /! D h/e/l/l/o/!
Question 12
texte = "Un robot ne peut porter atteinte a un etre humain "
compteur = 0
for lettre in texte :
if lettre == ’e’:
compteur = compteur + 1
print ( compteur )
A 7 B 8 C 6 D 49
Question 13
def mystere (a,b):
return 4∗( a+b)
print ( mystere (2 ,5))
A 28 B 10 C 13 D 4*(a+b)
Question 14
texte = "Un robot ne peut porter atteinte a un etre humain "
compteur = 0
for lettre in texte :
compteur = compteur + 1
print ( compteur )
A 8 B 40 C 7 D 49
y y
Question 15
texte = "Un robot ."
def mystere2 (t):
i = 0
sortie = ""
while i < len(t):
if i%2 == 0:
sortie += "X"
else :
sortie += t[i]
i += 1
return sortie
print ( mystere2 (texte ))
A XnXrXbXtX B Un robot. C UX XoXoX. D SyntaxError
Question 16
a = 8
if ... :
print ("a est non nul.")
Par quoi remplacer les ... pour que ”a est non nul” s’affiche ?
A a // 0 B a /= 0 C a != 0 D a%0
Question 17
for k in ... :
print (k)
Par quoi remplacer les ... pour que 2/4/6/8 s’affiche (/ correspondant à un retour
à la ligne) ?
A range(2,8,2) B range(2,9,2) C range(2,2,8) D range(2,9)
Question 18
a = 0
while ... :
a = a + 1
print (a)
Par quoi remplacer les ... pour que le programme se termine ?
A a >= 0 B a < 10 C a != -1 D a = 10
y y
Question 19
def ajoute (n,p):
somme = 0
for i in ...: # l i g n e a m o d i f i e r
somme = somme + i
return somme
La fonction ajoute(n,p) codée ci-dessus en Python doit calculer la somme de tous
les entiers compris entre n et p (n et p compris).
Par exemple, ajoute(2,4) doit renvoyer 9 (car 2+3+4=9).
Par quoi remplacer les ... pour que le programme soit correct ?
A range(p,n) B range(p,n+1) C range(n,p+1) D range(n,p)
Question 20
def plus court string (x,y) :
if ... :
return x
else :
return y
Je souhaite définir une fonction qui compare la longueur de deux chaı̂nes de car-
actères et me renvoie la plus courte.
Par quoi remplacer les ... pour que le programme soit correct ?
A y<x B x<y C len(x)>len(y) D len(x)<len(y)
y y