Langage Python : Fiche 1

Tux Python

Outils et installation

Pour coder en Python, il faut un éditeur (pour taper les programmes) et un interpréteur (pour exécuter le code). Nous travaillerons en Python3.

Le plus simple (mais pas le mieux) est de télécharger une version portable tout en un. Il en existe plusieurs. Nous vous proposons Pyzo.

Lien vers le téléchargement : Pyzo2015a

Remarques :

Ces versions ne sont plus à jour. Les nouvelles versions de Pyzo ne contiennent plus que l’éditeur IEP. Il faut installer un environnement Python à part, par exemple Miniconda. Si vous vous sentez capable d’installer ces nouvelles versions, n’hésitez pas.

Le présent fichier a été réalisé par un ipython_notebook. Cette interface est présente dans Pyzo2015a.

Premier programme

Première utilisation d'une interface graphique : TKinter

  • Commencez par ouvrir Pyzo.

  • Copiez/Collez le code suivant dans l'éditeur Pyzo

  • Exécutez le programme en actionnant : Ctrl+Entrée

  • Effectuez les missions données sous le code

In [ ]:
from tkinter import *

def KeyBoard(event):
    dx=0
    dy=0
    Key = event.keysym
    if Key == 'Right':
        dy = -10
    if Key == 'Up':
        dy = 10
    if Key == 'Left':
        dx = 10
    if Key == 'Down':
        dx = -10
    MyCanvas.move(Balle,dx, dy)
    print(MyCanvas.coords(Balle))
    print(MyCanvas.coords(Balle)[2])

#Création de la fenêtre:
MyWindow = Tk()
MyWindow.title('Piece')
#Création du canvas:
MyCanvas = Canvas(MyWindow, width = 480, height =320, bg ='white')
#Création de la balle:
Balle = MyCanvas.create_oval(230,150,250,170,width=2,outline='black',fill='red')
MyCanvas.focus_set()
#Association du clavier à la fonction KeyBoard:
MyCanvas.bind('<Key>',KeyBoard)
#Marges:
MyCanvas.grid(padx =50, pady =50)
#Un bouton quitter:
Button(MyWindow, text ='Exit', command = MyWindow.destroy).grid(padx=5,pady=5)
#Lancement de la boucle principle:
MyWindow.mainloop()

balle.py

Missions You

  1. Testez ce code et corrigez le problème
  2. Changer la couleur, la taille, le déplacement, .... de la balle
  3. Changez la couleur de fond. (Cherchez sur internet de nouvelles couleurs...)
  4. À quoi sert le caractère # ?
  5. Quelle est la traduction de if ?
  6. Quelle est la traduction de bind() ?
  7. Transformez la balle en rectangle de dimensions 120x30 :

MyCanvas.create_rectangle(...)

Mission Jedi : Tux Jedi

Créez une deuxième balle se déplaçant avec d'autres touches du clavier.

Ampoule L'idée étant de compléter la fonction KeyBoard() avec deux autres variables dx2 et dy2...