# Une solution possible
def somme(nombre1, nombre2, nombre3):
resultat = nombre1 + nombre2 + nombre3
return resultat
# Jeu d'essai
print("Pass test1 --> ",somme(1, 5, 7) == 13)
print("Pass test2 --> ",int(somme(1.2, -6, 5)*10) == 2)
# Une autre solution possible
def somme1(nombre1, nombre2, nombre3):
return nombre1 + nombre2 + nombre3
# Jeu d'essai
print("Pass test1 --> ",somme(1, 5, 7) == 13)
print("Pass test2 --> ",int(somme(1.2, -6, 5)*10) == 2)
Écrire une fonction mention()
qui à partir d’une note renvoie la mention correspondant (None,P,AB,B,TB)
# Une solution possible
def mention(note):
if 0 <= note < 10:
resultat = None
elif 10 <= note < 12:
resultat = "P"
elif 12 <= note < 14:
resultat = "AB"
elif 14 <= note < 16:
resultat = "B"
elif 16 <= note <= 20:
resultat = "TB"
return resultat
# Jeu d'essai
print("Pass test1 --> ",mention(8) == None)
print("Pass test2 --> ",mention(10) == "P")
print("Pass test3 --> ",mention(11) == "P")
print("Pass test4 --> ",mention(12) == "AB")
print("Pass test5 --> ",mention(13) == "AB")
print("Pass test6 --> ",mention(14) == "B")
print("Pass test7 --> ",mention(15) == "B")
print("Pass test8 --> ",mention(16) == "TB")
print("Pass test9 --> ",mention(18) == "TB")
Écrire une fonction minimum()
qui renvoie la plus petite valeur des 2 valeurs passées en paramètres.
# Une solution possible
def minimum(a, b):
if a < b:
valeur = a
else:
valeur = b
return valeur
# Jeu d'essai
print("Pass test1 --> ",min(10,15)==10)
print("Pass test2 --> ",min(11,9)==9)
print("Pass test3 --> ",min(12,12)==12)
Écrire une fonction fizzbuzz(n)
qui renvoie :
la chaîne "Fizz" si le nombre est un multiple de 3.
la chaîne "Buzz" si le nombre est un multiple de 5.
None sinon.
# Une solution possible
def fizzbuzz(nombre):
if nombre % 3 == 0:
chaine = "Fizz"
elif nombre % 5 == 0:
chaine = "Buzz"
else:
chaine = None
return chaine
# Jeu d'essai
print("Pass test1 --> ",fizzbuzz(1) == None)
print("Pass test2 --> ",fizzbuzz(3) == "Fizz")
print("Pass test3 --> ",fizzbuzz(5) == "Buzz")
print("Pass test4 --> ",fizzbuzz(6) == "Fizz")
print("Pass test5 --> ",fizzbuzz(7) == None)
Écrire une fonction fizzbuzz100()
utilisant la fonctionfizzbuzz()
de l'exercice pécédent.
Cette fonction fizzbuzz100
énumère les nombres de 1 à 100 et affiche :
1:None, 2:None, 3:Fizz, 4:None, 5:Buzz, 6:Fizz, 7:None, ... etc jusqu'à 100
# Une solution possible
def fizzbuzz100():
for elt in range (1, 101):
print(f"{elt} : {fizzbuzz(elt)}")
fizzbuzz100()
Écrire une fonction min2()
qui renvoie les 2 plus petites valeurs (sous forme d'un 2 t-uple) des 3 valeurs passées en paramètres.
Les 2 valeurs du t-uple retourné seront elles même ordonnées par ordre croissant.
# Une solution possible
def min2 (nombre1, nombre2, nombre3):
couple = sorted((nombre1, nombre2, nombre3))
# print(liste)
return couple[0], couple[1]
# Jeu d'essai
print("Pass test1 --> ",min2(1,2,3) == (1,2))
print("Pass test2 --> ",min2(1,3,2) == (1,2))
print("Pass test3 --> ",min2(2,1,3) == (1,2))
print("Pass test4 --> ",min2(2,3,1) == (1,2))
print("Pass test5 --> ",min2(3,1,2) == (1,2))
print("Pass test6 --> ",min2(3,2,1) == (1,2))
print("Pass test7 --> ",min2(2,2,2) == (2,2))
print("Pass test8 --> ",min2(3,3,4) == (3,3))
Écrire une fonction reverso()
qui renvoie le mot donné en paramètre à l'envers.
# Une solution possible
def reverso(mot):
return mot[::-1]
# Jeu d'essai
print("Pass test1 --> ",reverso("") == "")
print("Pass test2 --> ",reverso("a") == "a")
print("Pass test3 --> ",reverso("bonjour") == "ruojnob")
print("Pass test4 --> ",reverso("aa") == "aa")
print("Pass test5 --> ",reverso("laval") == "laval")
Écrire une fonction palindrom()
utilisant la fonction reverso()
et qui renvoie True si le mot passé en paramètre est un palindrome.
# Une solution possible
def palindrome(mot):
test = False
if reverso(mot) == mot and mot !="":
test = True
return test
# Jeu d'essai
print("Pass test1 --> ",palindrome("") == False)
print("Pass test2 --> ",palindrome("a") == True)
print("Pass test3 --> ",palindrome("bonjour") == False)
print("Pass test4 --> ",palindrome("aa") == True)
print("Pass test5 --> ",palindrome("laval") == True)
# Une autre solution possible
def palindrome(mot):
if reverso(mot) == mot and mot !="":
test = True
else:
test = False
return test
# Jeu d'essai
print("Pass test1 --> ",palindrome("") == False)
print("Pass test2 --> ",palindrome("a") == True)
print("Pass test3 --> ",palindrome("bonjour") == False)
print("Pass test4 --> ",palindrome("aa") == True)
print("Pass test5 --> ",palindrome("laval") == True)
Écrire une fonction firstlast(mot)
qui renvoie un 2 t-uple composé du premier et du dernier caractères du mot passé en paramètre.
# Une solution possible
def firstlast(mot):
# On regarde si le mot a moins de deux lettres
long = len(mot)
if 0 <= long <= 1:
result = None
else:
result = (mot[0], mot[-1])
return result
# Jeu d'essai
print("Pass test1 --> ",firstlast("") == None)
print("Pass test2 --> ",firstlast("a") == None)
print("Pass test3 --> ",firstlast("ab") == ("a","b"))
print("Pass test4 --> ",firstlast("chateau") == ("c","u"))