22.02.2014 Views

Types de données en Python - LMPT

Types de données en Python - LMPT

Types de données en Python - LMPT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fonctions et modules<br />

Fonction : retourne une donnée (quelque soit le type)<br />

Procédure : ne retourne ri<strong>en</strong> mais fait quelque chose<br />

– Définition :<br />

<strong>de</strong>f ma_fonction ():<br />

···<br />

···<br />

<strong>de</strong>f autre_fonction ():<br />

– Def avec paramètres : <strong>de</strong>f ma_fonction (hauteur, nom, co<strong>de</strong>)<br />

– Initialisation : <strong>de</strong>f ma_fonction (hauteur=3, nom=’echelle’, co<strong>de</strong>=[])<br />

– Appel : ma_fonction (3,’corbeau’)<br />

– Appel avec étiquettes : ma_fonction (nom=’corbeau’, co<strong>de</strong>=[2,3], hauteur=3)<br />

– Pour une fonction : return, utilisation : a=ma_fonction(2,”,[3,5])<br />

Par défaut les variables sont locales, sinon utiliser global.<br />

Module : regroupem<strong>en</strong>t <strong>de</strong> fonctions (équival<strong>en</strong>t d’une librairie) voire plus (POO), mon_module.py<br />

(ne pas repr<strong>en</strong>dre un nom déjà existant).<br />

Importer un module : import mon_module<br />

Att<strong>en</strong>tion, les définitions <strong>de</strong> fonction doiv<strong>en</strong>t précé<strong>de</strong>r le corps du programme, <strong>de</strong> même qu’une<br />

fonction servant à une autre.<br />

Exercices :<br />

1. Ecrire une fonction qui compte le nombre <strong>de</strong> mots dans une phrase<br />

2. Ecrire une fonction changeCar(ch, ca1, ca2, <strong>de</strong>but, fin) qui remplace dans la chaîne<br />

ch tous les caractères ca1 par les caractères ca2 à partir <strong>de</strong> l’indice <strong>de</strong>but, jusqu’à l’indice fin.<br />

Si début et fin sont omis, le traitem<strong>en</strong>t concerne toute la chaine.<br />

3. Ecrire une fonction chercheMax(liste, <strong>de</strong>but, fin) qui cherche dans la liste liste,<br />

l’élém<strong>en</strong>t maximum (au s<strong>en</strong>s mathématique). La recherche doit s’effectuer <strong>en</strong>tre les rangs d’indice<br />

<strong>de</strong>but et fin. Si début et fin sont omis, le traitem<strong>en</strong>t concerne toute la liste.<br />

4. Ecrire une fonction erathost<strong>en</strong>e(n) qui r<strong>en</strong>voit tous les nombres premiers compris <strong>en</strong>tre<br />

1 et n <strong>en</strong> utilisant le crible d’Erathostène.<br />

5. Ecrire une fonction mobius(n) qui calcule la fonction <strong>de</strong> mobius <strong>de</strong> n.<br />

6. Mettre toutes ces fonctions dans un module appelé essai_module.py et l’importer pour<br />

faire un programme <strong>de</strong>mandant à un utilisateur d’<strong>en</strong>trer un <strong>en</strong>tier, donant <strong>en</strong> retour la fonction<br />

<strong>de</strong> mobius et les nombres premiers <strong>en</strong>tre 1 et l’<strong>en</strong>tier.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!