Cours et exercices Python fonctions et tkinter - Explore

Les$fonctions$avec$Python$
!
Les structures while et for permettent aisément d'effectuer des tâches répétitives. Par contre,
pour effectuer une même série de tâches à des endroits différents du programme, il faudrait
copier ce code plusieurs fois.
Regardons l’exemple de la recherche du plus grand nombre dune liste :
!
liste1 = input('Entrez une première liste de nombres :\n')
max1=liste1[0]
for element in liste1:
if element > max1:
max1 = element
print(max1)
liste2=input('Entrez la seconde liste de nombres :\n')
max2=liste2[0]
for element in liste2:
if element > max2:
max2 = element
print(max2)
La recherche du max d'une liste doit être entièrement réécrite à chaque fois.
On pourrait synthétiser un peu en utilisant les fonctions : une fonction permet précisément
d'effectuer une série d'action, à l'aide d'un ou plusieurs paramètres d'entrée, et "retourne" le
résultat à l'aide de l'instruction return.
La définition d'une fonction se fait à l'aide de l'instruction def, suivie du nom de la fonction, et
de la liste des paramètres entre parenthèses.
Dans ce cas là, notre fonction, qui va calculer le max d'une liste de nombres, aura comme
entrée une liste, que l'on peut nommer comme on veut, et aura pour sortie un nombre, le
maximum de la liste donnée. La fonction est définie avant son appel :
def monmax(maliste):
maximum = maliste[0]
for element in maliste:
if element > maximum:
maximum = element
return maximum
liste1 = input('Entrez une première liste de nombres :\n')
print(monmax(liste1))
liste2 = input('Entrez la seconde liste de nombres :\n')
print(monmax(liste2))
!
Exercice'1':!!Ecrire!la!fonction!vboite(x,y,z)!qui!prend!comme!arguments!les!
dimensions!dune!boîte,!et!renvois!son!volume.!
!
Exercice'2':!Ecrire!une!fonction!facto(N)!qui!factorise!un!nombre!entier!en!facteurs!
premiers.!
!
Indication):!essayer!de!diviser!N!par!2,!puis!3,!puis!4…!jusqu’à!ce!que!le!reste!de!la!
division!(N!%!i)!soit!nul.!Alors!afficher!i,!puis!essayer!de!diviser!n!par!i.!
Il!vous!faut!utiliser!2'boucles'while!
!
Exemple!des!étapes!de!décomposition!:!
On!cherche!le!plus!petit!nombre!premier!qui!divise!le!nombre!N,!on!fait!la!division!de!
N!par!ce!nombre!premier!et!si!le!quotient!obtenu!est!différent!de!1,!on!recommence!
...!jusqu'à!obtenir!pour!quotient!1!
!
Exemple):!Décomposition!de!nombre!240!en!produit!de!facteurs!premiers:!
!
240!=!2×120!(2!est!le!plus!petit!nombre!premier!qui!divise!le!nombre!240)!
120!=!2×60!(2!est!le!plus!petit!nombre!premier!qui!divise!le!nombre!120)!
60!=!2×30!(2!est!le!plus!petit!nombre!premier!qui!divise!le!nombre!60)!
30!=!2×15!(2!est!le!plus!petit!nombre!premier!qui!divise!le!nombre!30)!
15!=!3×5!(3!est!le!plus!petit!nombre!premier!qui!divise!le!nombre!15)!
5!=!5×1!(5!est!un!nombre!premier,!donc!la!décomposition!est!terminée)!
alors!:!240!=!2x2×2×2×3×5!!
!
Exercice'3':!Tester!le!temps!nécessaire!pour!factoriser!des!nombres!de!plus!en!plus!
grands.!Comment!évolueVtVil!?!
Indication):)utiliser))
import time
start=time.time()
duree=time.time()-start
!
!
!
Fenêtres$en$Python$avec$tkinter$
!
Regarder!sur!le!site!du!cours!(exploreVphoto.com/msi)!le!lien!pour!utiliser!des!
fenêtres!comme!interface!graphique!dans!vos!programmes,!avec!tkinter!
!
!
Exercice'4':!faire!une!version!graphique!de!l’exercice!1!
!
Exercice'5':!faire!une!version!graphique!de!l’exercice!2!et!3.!
!
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !