Il faut ne faire qu'une chose à la fois, c'est à dire :
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 !
cube()
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 😉 ...)
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...
somme()
def somme( a, b, c ):
return a + b + c
print('La somme de ces 3 nombres est égale à', somme(10, 3, 27))
calculs_multiple()
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
.
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)
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.
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 :
envers
)miroir
)