Ex2-fonctions

.pdf
Exercices Python : fonctions, modules Thiago ABREU 6 novembre 2020 1 Fonctions et modules Python dispose des variables, attributs et fonctions inh´ erents au langage qui peuvent ˆ etre utilis´ es librement par l'utilisateur. Parmi les attributs int´ eressants, on trouve le __doc__ , qui permet d'afficher la docstring d'une fonction ou classe. Par exemple, le code suivant affiche la description qui se trouve entre les triples guillemets. def estPair(num): """ Return True si l'argument num pass´ e est un num´ ero pair, retourne False sinon """ if (num%2==0) : return True else : return False print (estPair.__doc__) Pour chaque fonction suivante, vous allez toujours ajouter la docstring correspon- dante. Question 1 ´ Ecrivez une fonction qui retourne le carr´ e d'un num´ ero. Question 2 Am´ eliorez la fonction pr´ ec´ edente pour permettre ` a l'utilisateur de pr´ eciser la puissance et la base d´ esir´ ees (pas seulement un carr´ e). Question 3 ´ Ecrivez une fonction qui accepte deux arguments et qui indique se le premier est divisible par le deuxi` eme. Question 4 ´ Ecrivez une fonction pour inverser un string de caract` eres. Entr´ ee attendue : "abcd1234" Sortie attendue : "4321dcba" Question 5 ´ Ecrivez une fonction qui accepte un entier comme param` etre et indique s'il est un nombre premier (c'est ` a dire, divisible seulement par lui et par 1). Question 6 Pour v´ erifier si les m´ ethodes al´ eatoires de Python ne sont pas biais´ ees, ´ ecrivez une fonction qui affiche le nombre des fois qui les faces d'un d´ e sont tir´ es au hasard, apr` es n lancements de ce d´ e. 1
Question 7 ´ Ecrivez une fonction pour indiquer si un string est un palindrome (wikipedia : texte ou un mot dont l'ordre des lettres reste le mˆ eme qu'on le lise de gauche ` a droite ou de droite `a gauche). Exemple : "Mon nom" ; "anna" Question 8 ´ Ecrivez une fonction max_de_deux qui retourne la plus grande valeur entre deux entiers pass´ es en argument. Question 9 En utilisant la fonction pr´ ec´ edente dans un module, ´ ecrivez une fonction max_de_trois qui retourne la plus grande valeur entre 3 entiers pass´ es en argument. Attention, vous devez comparer les num´ eros 2 ` a 2, en utilisant la fonction max_de_deux . Observation : la fonction max_de_trois ne contient qu'une seule ligne d'ins- truction ! Pouvez-vous la trouver ? Astuce : r´ efl´ echissez par r´ ecursivit´ e ! Question 10 ´ Ecrivez une fonction pour calculer la factorielle d'un num´ ero. Exemple : 5! = 5 × 4 × 3 × 2 × 1 = 120 Question 11 Am´ eliorez le programme de calcul de factorielle pour utiliser la r´ ecursivit´ e. Question 12 ´ Ecrivez deux fonctions pour calculer les premiers n ´ el´ ements de la s´ erie de Fibon- nacci ( n pass´ e en argument). La premi` ere fonction utilise une boucle, la deuxi` eme la r´ ecursivit´ e. Page 2
Page1of 2
Uploaded by CorporalRabbitPerson8 on coursehero.com