1_16 ;;; On désire programmer une fonction qui prend en paramètre le rayon d'un cercle et renvoie son aire Exemple : ``` >>> aire_cercle(2) 28.274 ``` Complétez la fonction aire_cercle dans l'éditeur de code (remplacez les ...) ;;; import math def aire_cercle(...): aire = math.pi*rayon**2 return ... ;;; c="" if round(aire_cercle(3)) == 28: c+="1" else : c+="0" ;;; 1_17 ;;; On désire programmer une fonction qui prend en paramètre un nombre et qui renvoie la chaîne de caractères "pair" si le nombre est pair et "impair" dans le cas contraire Exemples : ``` >>> pair_impair(4) "pair" >>> pair_impair(3) "impair" ``` Complétez la fonction `pair_impair` dans l'éditeur de code (remplacez les ...) ;;; import math def pair_impair(n): if ... % 2 == 0: return ... else : return "impair" ;;; c="" if pair_impair(4) == "pair": c+="1" else : c+="0" if pair_impair(3) == "impair": c+="1" else : c+="0" ;;; 1_19 ;;; Vous êtes gérant d'un magasin et vous désirez écrire un programme Python qui calculera automatiquement le montant de la facture des clients. Tout client qui achète au moins 5 fois le même article se voit octroyer une remise de 5 % (uniquement sur le montant de l'achat de cet article). Afin de simplifier le problème, on considère qu'un client n'achète qu'un seul type d'article. Écrivez une fonction `facture` qui prend en paramètre le prix unitaire de l'article `p` et le nombre d'articles achetés `n`. Cette fonction doit renvoyer le montant de la facture. Exemples : ``` >>> facture(3,4) 12 >>> facture(3,5) 14.25 ;;; ;;; c="" if facture(3,4) == 12: c+="1" else : c+="0" if round(facture(3,5),2) == 14.25: c+="1" else : c+="0" ;;; 2_12 ;;; La fonction recherche_max prend en paramètre un tableau et renvoie la plus grande valeur présente dans le tableau (le tableau est constitué d'entiers positifs ou nuls). Exemples : ``` >>> recherche_max([4, 3, 0, 5]) 5 >>> recherche_max([-3, -2, -12, -22]) -2 ``` Compétez la fonction dans l'éditeur de code. ;;; def recherche_max(tab): maxi = ... for t in tab : if ... > maxi : maxi = ... return ... ;;; c="" if recherche_max([4, 3, 0, 5]) == 5: c+="1" else : c+="0" if recherche_max([-3, -2, -12, -22]) == -2: c+="1" else : c+="0" ;;; 2_13 ;;; La fonction somme prend en paramètres un tableau tab contenant des entiers. Cette fonction renvoie la somme des entiers présents dans le tableau tab. Exemple : ``` >>> somme([3,5,8,4]) 20 ``` Complétez la fonction `somme` dans l'éditeur de code. ;;; def somme(tab): s = ... for t in ... : s = s + ... return ... ;;; c="" if somme([3,5,8,4]) == 20: c+="1" else : c+="0" ;;; 2_14 ;;; La fonction recherche prend en paramètres un tableau tab contenant des entiers et un entier n. Cette fonction renvoie l'indice de position de l'entier n s'il est présent dans le tableau tab ou -1 dans le cas contraire (on partira du principe que le tableau ne peut pas contenir 2 fois le même entier). Exemples : ``` >>> recherche([3,5,8,34], 8) 2 >>> recherche([3,5,8,34], 42) -1 ``` Complétez la fonction `recherche` dans l'éditeur de code ;;; def recherche(tab, n): for i in ... : if n == ... : return ... return ... ;;; c="" if recherche([3,5,8,34], 8) == 2: c+="1" else : c+="0" if recherche([3,5,8,34],42) == -1: c+="1" else : c+="0" ;;; 2_15 ;;; Écrire une fonction moyenne qui prend en paramètre un tableau d'entiers non vide `tab` et qui renvoie la moyenne de ces entiers. Exemple : ``` >>> moyenne([12,15,17,0]) 11 ``` ;;; ;;; c="" if moyenne([12,15,17,0]) == 11: c+="1" else : c+="0" ;;; 3_6 ;;; On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu : ``` [{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}] ``` La fonction `plusHaute` prend en paramètre un tableau contenant des dictionnaires (comme celui ci-dessus) et renvoie le nom de l'élève ayant obtenu la meilleure note (on partira du principe que les élèves ont tous des notes différentes). Complétez la fonction `plusHaute` dans l'éditeur de code. ;;; def plusHaute(tab): nom = "" max_note = ... for t in ...: if t['note'] > ...: max_note = t[...] nom = t[...] return ... ;;; c="" if plusHaute([{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]) == "Toto": c+="1" else : c+="0" ;;; 3_7 ;;; On utilise un tableau et des dictionnaires pour stocker des noms et des numéros de téléphone : ``` [{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}] ``` La fonction numTel prend 2 paramètres : un tableau de dictionnaires `tab_tel` contenant les noms et les numéros de téléphone (comme celui ci-dessus) et un nom `n` La fonction `numTel` doit renvoyer le numéro de téléphone de `n` si ce dernier existe. Dans le cas où `n` n'existe pas, la fonction `numTel` doit renvoyer -1 Exemples : ``` >>> numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tutu') 424224 >>> numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tata') -1 ``` Complétez la fonction `numTel` dans l'éditeur de code. ;;; def numTel(..., n): for ... in tab_tel: if ... == t['nom']: return ... return ... ;;; c="" if numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tutu') == 424224: c+="1" else : c+="0" if numTel([{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}], 'Tata') == -1: c+="1" else : c+="0" ;;; 3_8 ;;; On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu : ``` [{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}] ``` La fonction `moyenne` prend en paramètre un tableau contenant des dictionnaires (comme celui ci-dessus) et renvoie la moyenne des notes. Écrivez la fonction `moyenne` ;;; ;;; c="" if moyenne([{'nom':'Titi', 'note':13}, {'nom':'Tutu', 'note':14}, {'nom':'Toto', 'note':18}]) == 15: c+="1" else : c+="0" ;;;