On considère la fonction Python suivante :
def f(x):
if x%2==0:
return(x**2)
else:
return(x**3)
Quelle modification de cette fonction permet de renvoyer 2x dans le cas où x est impair ?
La fonction de départ renvoie x^2 si x est pair et x^3 si x est impair.
Il faut modifier le \text{return(x**3} par \text{return(2*x)} pour renvoyer 2x dans le cas où x est impair.
La bonne solution est donc :
def f(x):
if x%2==0:
return(x**2)
else:
return(2*x)
On considère la fonction Python suivante :
def factorielle(n):
fact = 1
for i in range(2, n+1):
fact = fact * i
return fact
Quelle modification de cette fonction permet d'afficher la phrase « Le factorielle de n est n! » avec les bonnes valeurs ?
La fonction de départ renvoie n!.
Il faut modifier le return afin que la fonction affiche la phrase voulue.
On peut utiliser l'opérateur + pour concaténer des chaînes de caractères.
Il faut également transformer n et fact en chaîne de caractères en utilisant la fonction str().
La bonne solution est donc :
def factorielle(n):
fact = 1
for i in range(2, n+1):
fact = fact * i
print("le factorielle de "+ str(n) +" est "+ str(fact))
On considère la fonction Python suivante :
def fibonacci(n) :
f=[0,1]
while len(f)<=n :
f.append(f[-1]+f[-2])
return f[n]
Quelle modification de cette fonction permet de renvoyer la liste des 3 derniers termes de la liste des 2n+1 premiers termes de la suite de Fibonacci ?
La fonction de départ renvoie le terme de n^{ème} de la suite de Fibonacci.
Il faut modifier la condition sur la boucle while afin de calculer les termes de la suite de Fibonacci pour aller jusqu'au terme de rang 2n et modifier la fonction return afin de renvoyer les 3 derniers éléments de la liste.
La bonne solution est donc :
def fibonacci(n) :
f=[0,1]
while len(f)<=2*n :
f.append(f[-1]+f[-2])
return f[-3:]
On considère la fonction Python suivante :
def f(x):
if x%2==0:
return(x**2)
else:
return(x**3)
Quelle modification de cette fonction permet d'indiquer à l'utilisateur si x est pair ou impair ?
La fonction de départ renvoie calcule une valeur de x dans la cas où x est pair et une autre dans le cas où x est impair.
Il suffit de changer les return afin d'indiquer si x est pair ou impair.
L'opérateur % permet d'indiquer le reste de la division euclidienne de x par 2. Ainsi x%2 == 0 permet de tester si x est pair.
La bonne solution est donc :
def f(x):
if x%2==0:
return(str(x) + " est pair")
else:
return(str(x) + " est impair")
On considère la fonction Python suivante :
def fibonacci(n) :
f=[0,1]
while len(f)<=n :
f.append(f[-1]+f[-2])
return f[n]
Quelle modification de cette fonction permet de calculer la somme des n premiers termes de la suite de Fibonacci ?
La fonction de départ calcule les n premiers termes de la suite de Fibonacci et renvoie le dernier terme calculé.
Afin de calculer la somme des n premiers termes de la suite, il faut initier un compteur à 1 (la somme des deux premiers termes et ajouter le terme calculé à chaque itération).
La bonne solution est donc :
def fibonacci(n) :
f=[0,1]
sum=0+1
while len(f)<=n :
f.append(f[-1]+f[-2])
sum+=f[-1]
return sum