This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.

Page:Swinnen - Apprendre Python, 2010.djvu/113

Free texts and images.
Jump to navigation Jump to search
This page has been proofread


Programmes pilotés par des événements
91




Exemple graphique : deux dessins alternés

Cet autre exemple vous montrera comment vous pouvez exploiter les connaissances que vous avez acquises précédemment, concernant les boucles, les listes et les fonctions, afin de réaliser de nombreux dessins avec seulement quelques lignes de code. Il s’agit d’une petite application qui affiche l’un ou l’autre des deux dessins reproduits ci-dessous, en fonction du bouton choisi :


Figure 6
Figure 6
Figure 7
Figure 7


from tkinter import *

def cercle(x, y, r, coul ='black'):
  "tracé d'un cercle de centre (x,y) et de rayon r"
  can.create_oval(x-r, y-r, x+r, y+r, outline=coul)

def figure_1():
  "dessiner une cible"
  # Effacer d'abord tout dessin préexistant :
  can.delete(ALL)
  # tracer les deux lignes (vert. Et horiz.) :
  can.create_line(100, 0, 100, 200, fill ='blue')
  can.create_line(0, 100, 200, 100, fill ='blue')
  # tracer plusieurs cercles concentriques :
  rayon = 15
  while rayon < 100:
      cercle(100, 100, rayon)
      rayon += 15

def figure_2():
  "dessiner un visage simplifié"
  # Effacer d'abord tout dessin préexistant :
  can.delete(ALL)
  # Les caractéristiques de chaque cercle sont
  # placées dans une liste de listes :
  cc =[[100, 100, 80, 'red'], # visage
    [70, 70, 15, 'blue'], # yeux
    [130, 70, 15, 'blue'],
    [70, 70, 5, 'black'],
    [130, 70, 5, 'black'],