Connexion élèves

Choisir le(s) module(s) à installer :

Fonctions - Correction des exercices

Il faut ne faire qu'une chose à la fois, c'est à dire :

  • écrire d'abord le code de définition de la fonction, en utilisant le ou les paramètre(s) qu'elle prend, et sans se soucier de la valeur réelle que prendront ce ou ces paramètres.
  • écrire ensuite le programme principal, ou on appelle la fonction en lui passant les arguments qu'elle attend, c'est à dire les valeurs que l'on passera aux paramètres, et bien sûr, en "faisant" ensuite quelque chose de ce résultat...).

Attention, l'ordre des arguments dans l'appel doit être le même que celui des paramètres dans la définition de la fonction.

Penser à donner aux variables dans la définition de la fonction des noms autres que celui de la fonction elle-même !

Fonction cube()

Définition de la fonction

Plusieurs façons de faire :


def cube(a) :
	resultat = a ** 3	# on calcule d'abord le résultat du calcul
	return resultat 	# puis on renvoie ce résultat
			

Ou :


def cube(a) :
    return a**3 	# on retourne directement le résultat de l'évaluation de l'expression 'a**3', sans passer par une variable intermédiaire
			

Aucune manière de faire n'est meilleure que l'autre : à vous de voir ce que vous maîtrisez le mieux ( ne pas oublier que, parmi les différentes façons qui existent de faire quelque chose, la meilleure est celle que l'on comprend 😉 ...)

Appel de la fonction

Là aussi, plusieurs façons de faire :


res = cube(3)	# on appelle la fonction, et on stocke le résultat qu'elle renvoie dans une variable
print(res)	# on affiche ensuite la variable contenant le résultat
			

Ou alors :


print(cube(3))	# on fait tout en même temps !
			

Et même remarque que ci-dessus...

Fonction somme()


def somme( a, b, c ):
    
    return a + b + c

print('La somme de ces 3 nombres est égale à', somme(10, 3, 27))
			

Fonction calculs_multiple()

Définition


def calculs_multiples(n1, n2):
	somme = n1 + n2
	difference = n1 - n2
	produit = n1 * n2
	quotient = n1 // n2
    
	return somme, difference, produit, quotient
			

Pour renvoyer plusieurs résultats en même temps, il faut les séparer par une virgule dans l'instruction return.

Appel et affichage des résultats

On peut soit appeler la fonction et afficher "d'un coup" les 4 résultats qu'elle renvoie :


print(calculs(12, 4))

>>> (16, 8, 48, 3.0)
			

Ou alors on peut récupérer les 4 résultats dans 4 variables différentes pour les afficher indépendamment les uns des autres :


s, d, p, q = calculs(12, 4) # on sépare les 4 variables par une virgule, chacune correspondant à un des résultats renvoyés par la fonction ( dans le même ordre ! )

print("Somme =", s)
print("Différence =", d)
print("Produit = ", p)
print("Quotient=", q)
			

Fonction convertir_temperature()


def convertir_temperature(temp):
	return 1.8 * temp + 32  # renvoi direct du résultat !
	
### Programme principal ###

celsius = int(input("Entrez une température en °C :")) 					# on stocke dans une variable 'celsius' la valeur entrée par l'utilisateur
print("Température convertie :", convertir_temperature(celsius), "F.")	# on utilise la variable 'celsius' comme argument lors de l'appel de la fonction

			

Il est fortement recommandé d'utiliser des noms différents pour les variables dans la définition de la fonction et dans le programme principal, même si ces variables contiendront a priori la même information ( c'est le cas ici du paramètre temp et de l'argument celsius.
Cela permet de rendre le code beaucoup plus lisible en séparant ce qui appartient à la fonction et au programme principal.

Fonction à l'envers


def envers( chaine ) :
    
    miroir = '' 				# initialisation d'une nouvelle chaîne vide, qui contiendra la chaîne à l'envers

    for car in chaine : 		# parcours des caractères de la chaîne en entrée
        miroir = car + miroir # chaque caractère est concaténé AU DÉBUT de la nouvelle chaîne, qui se construit ainsi peu à peu

    return miroir


print(envers("Bonjour"))
			

Attention à ne pas confondre :

  • le nom de la fonction ( ici envers )
  • le nom du résultat qu'elle renvoie ( ici miroir )
>