Notion de fonction en Python

13
Fonctions 1 Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0 en Python Les Fonctions en Python

Transcript of Notion de fonction en Python

Fonctions

1Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

LesFonctions

en Python

Fonctions

2Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

Avez­vous un travail fixe?(oui/non) ouiAvez­vous des dettes?(oui/non) heu...(oui/non) ben...(oui/non) ouiAvez­vous une maladie de longue durée?(oui/non) nonDésolé, nous ne pouvons vous accorder le crédit demandé

Répondre paroui ou non !

Fonctions

3Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

Avez­vous un travail fixe?(oui/non) ouiAvez­vous des dettes?(oui/non) heu...(oui/non) ben...(oui/non) ouiAvez­vous une maladie de longue durée?(oui/non) nonDésolé, nous ne pouvons vous accorder le crédit demandé

Répondre paroui ou non !

Répondre paroui ou non !

Répondre paroui ou non !

Fonctions

4Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

#!/usr/bin/python# vim: set fileencoding=utf­8 :

print "Avez­vous un travail fixe?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")travail = reponse

print "Avez­vous des dettes?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")dettes = reponse

print "Avez­vous une maladie de longue durée?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")maladie = reponse

if travail == "oui" and dettes == "non" and maladie == "non":    print "Vous êtes éligible pour un crédit"else:    print "Désolé, nous ne pouvons vous accorder le crédit demandé"

reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")

Fonctions

5Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

#!/usr/bin/python# vim: set fileencoding=utf­8 :

print "Avez­vous un travail fixe?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")travail = reponse

print "Avez­vous des dettes?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")dettes = reponse

print "Avez­vous une maladie de longue durée?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")maladie = reponse

if travail == "oui" and dettes == "non" and maladie == "non":    print "Vous êtes éligible pour un crédit"else:    print "Désolé, nous ne pouvons vous accorder le crédit demandé"

reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")

Fonctions

6Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

#!/usr/bin/python# vim: set fileencoding=utf­8 :

print "Avez­vous un travail fixe?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")travail = reponse

print "Avez­vous des dettes?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")dettes = reponse

print "Avez­vous une maladie de longue durée?"reponse  = ""while reponse not in ["oui", "non"]:    reponse = raw_input("(oui/non) ")maladie = reponse

if travail == "oui" and dettes == "non" and maladie == "non":    print "Vous êtes éligible pour un crédit"else:    print "Désolé, nous ne pouvons vous accorder le crédit demandé"

3x le même code!

Fonctions

7Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

On groupe le code commun

dans une fonction

def demander():    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")

Fonctions

8Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

On groupe le code commun

dans une fonction

def demander():    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")

print "Avez­vous un travail fixe?"demander()travail = reponse

print "Avez­vous des dettes?"demander()dettes = reponse

# ...

Et on l'appelle quandnécessaire

Fonctions

9Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

On groupe le code commun

dans une fonction

def demander():    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")

print "Avez­vous un travail fixe?"demander()travail = reponse

print "Avez­vous des dettes?"demander()dettes = reponse

# ...

Et on l'appelle quandnécessaire

Avez­vou

s un tra

vail fix

e?

(oui/non

) oui

Tracebac

k (most 

recent c

all last

):

  File "

./Credit

Expert.p

y", line

 11, in 

<module>

    trav

ail = re

ponse

NameErro

r: name 

'reponse

' is not

 defined

et ça...

...marche pas !

Fonctions

10Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

Les variables ont une portée:

def demander():    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")

print "Avez­vous un travail fixe?"demander()travail = reponse

reponseexiste ici

mais pas là

Fonctions

11Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

return fait "sortir" une valeur:

def demander():    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")    return reponse

print "Avez­vous un travail fixe?"travail = demander()

reponseexiste ici

et sa valeur est

récupérée

Fonctions

12Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

un paramètre fait "rentrer" une valeur:

def demander(question):    print question    reponse  = ""    while reponse not in ["oui", "non"]:        reponse = raw_input("(oui/non) ")    return reponse

travail = demander("Avez­vous un travail fixe?")

Fonctions

13Sylvain Leroux – www.chicoree.fr – 2009 – Licence CC-BY3.0

en Python

QA&