ICN - 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 est de télécharger et d'installer Thonny

Remarques :

Au lycée nous utilisons Pyzo comme éditeur Miniconda comme interpréteur. Si vous vous sentez capable d’installer ces nouvelles versions, n’hésitez pas.

Liens : Pyzo Miniconda

Le présent fichier a été réalisé par un Jupyter Notebook.

Premier programme

Première utilisation d'une interface graphique : TKinter

  • Commencer par ouvrir Pyzo.

  • Copier/Coller le code suivant dans l'éditeur Pyzo

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

  • Effectuer les missions données sous le code

In [1]:
import tkinter as tk

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.Tk()
MyWindow.title('Balle')
#Création du canvas:
MyCanvas = tk.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:
tk.Button(MyWindow, text ='Exit', command = MyWindow.destroy).grid(padx=5,pady=5)
#Lancement de la boucle principle:
MyWindow.mainloop()
[230.0, 160.0, 250.0, 180.0]
250.0
[220.0, 160.0, 240.0, 180.0]
240.0
[220.0, 150.0, 240.0, 170.0]
240.0
[230.0, 150.0, 250.0, 170.0]
250.0

balle.py

Missions You

  1. Tester ce code et corriger les problèmes.
  2. Changer les couleurs, la taille, le déplacement, .... de la balle.
  3. Changer la couleur de fond. (Chercher sur internet de nouvelles couleurs...)
  4. Transformer la balle en un rectangle de dimension $120\times 30$.

Mission Jedi : Tux Jedi

Créer 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...