Types de données en Python - LMPT
Types de données en Python - LMPT
Types de données en Python - LMPT
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.