Cours S3 Python

Les Fonctions

Nous avons vu les boucles précédement. Dans ce cours, vous allez apprendre ce que c’est qu’ une fonction et comment la programmer !

I. Introduction

Vous rappelez-vous dans les lecons basic Python, que nous avions vu la fonction main(). Et bien, c’est exactement cela, une fonction. Nous avons tout d’abord vu qu’ il fallait définir main() avec def. Puis il fallait, à la fin de votre programme, écrire if __name__ == ‘main’: et inclure à l’intérieur main()_ pour l’afficher. Et que cela permettait d’afficher autant de fois désirez la fonction main():

def main():

            print(“Votre message”)

if __name__ == ‘main’:

          main()

Et bien nous allons appliquer le même principe, mais en détaillent réellement ce qu’est une fonction maintenant que vous êtes aptes à comprendre !

II. Une fonction classic (révision)

Admettons maintenant que vous souhaitez  intégrer votre ancien programme à propos de la falaise plusieurs fois dans la console. Vous allez donc écrire au dessus:

def distance():

Et à la fin, vous allez écrire:

if __name__ == ‘__main__’:

                   distance()

                   distance()

Ici, votre programme se répétra 2 fois. Si vous réérivez distance() une troisième fois, votre programme se répétra une troisième fois! Vous constaterez aussi que nous pouvons introduire ce que l’on désire dans une fonction !

Tips: Vous n’êtes pas obligé d’écrire la ligne    if __name__ == ‘__main__’:. Mais cela rend votre code beaucoup plus facilement lisible au debut mais moins sexy! (Oui, votre code peut être sexy!)

III. Comment utiliser une fonction

Mais vous allez me dire, à quoi cela sert-il, si je souhaite répétez un programme, je peux simplement le copier et le coller en-dessous. Et bien je vous répondrais que ce n’est pas la seul utilité d’une fonction!

En effet, nous allons prendre un exemple. Tous les ans, vous aurez remarquez que les prix augmentent. En effet, cela s’appelle l’inflation. Admettons donc qu’ un téléphone coute 100 euros aujourd’hui. Chaque année, on lui rajoutera environ +1 euros. (Point culture: en effet chaque année l’inflation fait prendre à un produit l’équivalent de 1% de sont prix!) Nous allons donc coder cela !

IV. Définir aujourd’hui

Premièrement, vous allez définir le prix aujourd’hui:

Commencerz par:

def today():

Puis utiliser la fonction global. La fonction global permet d’utiliser la valdeurs d’ origine d’une variable (ici, telephone et year):

global telephone, year

Puis afficher:

print(“En {}, le telephone coute {} euros”.format(year, telephone))

Ensuite, à l’exterieur de la fonction today(), vous définissez vos 2 variables telephone et year:

telephone = 100

year = 2021

Puis afficher:

today()

 V. Puis ajouter la fonction next_price

Vous allez donc définir une 2ème fonction next_price():

def next_price():

Puis vous allez comme dans la précédente, introduire global !

global telephone, year

Ensuit, vous allez ajouter au 2 variable 1 puisque vous ajouter 1 euros a votre téléphone et 1 ans à votre année :

telephone += 1

(Rappeller vous, cela revient à: telephone = telephone + 1)

year += 1

Puis afficher:

print(“En {}, le telephone coutera {} euros”.format(year, telephone))

Enfin afficher la fonction next_year à l’exterieur de votre fonction.

BRAVO !! Vous venez de prédire l’inflation !!

VI. Calcul 

Vous pouvez aussi calculer des opérations grace au fonction. Pour cela, vous allez utiliser la fonction return. Elle permet d’afficher directement un calcule sans passer par une création d’une variable:

result = 10 + 2          —->      return 10 + 2

Cela est valable pour tout type d’opération! Vous pouvez aussi créer des variables mathématiques comme par exemple x, y, a, b, c, (etc…)  avec des fonctions. Par conséquent, nous commencerons par définir une fonction calcul() et nous intégrerons la variable mathématique x dans le calcul:

def calcul(x):     

(Ici, vous ajoutez x dans les paranthèses. Cela permet de créer votre variable)

Puis utilisez return:

return 2 * x

Vous intégrez donc x dans votre calcul. 

Puis afficher votre calcul:

print(“Votre résultat est égale a “, calcul(5))

Ici, vous remarquerez que j’ai mis 5 entre paranthèses derrière calcul. Cela permet de définir la variable mathématique x et donc de lui donner la valeur 5. Vous pouvez évidemment lui accorder une autre valeur.

ATTENTION: Si vous ne mettez rien entre les paranthèses mais que vous mettez une variable mathématiques à l’interieur de votre calcul, vous aurez un message d’erreur puisque vous ne définissez pas votre variable !

Exercice:

Reprenons notre falaise. Admettons que vous pouvez sautez de la falaise à 2 endroits différents.

Le première endroit est d’une hauteur de 7*148 m.

Le deuxième endroit est d’une hauteur de 383 + 654 m.

Vous ne devez pas calculer les 2 distances par vous-même. Votre programme doit pouvoir vous demander d’entrer ces calcules. Mais aussi, il doit pouvoir afficher et vous donnez l’endroit le moins haut pour sauter.

Tips: Vous pouvez utiliser int(input()) et if et else.

Correction a droite —->