2 pièce(s) jointe(s)
Réalisation d'une figure à damier progressive
Bonjour à toute la communauté
Je débute sous Python et je dois réaliser la figure jointe (forme de damier étirée).
J'ai commencé un programme qui à l'air de marcher car il m'affiche un damier de 16 cases par 16 mais mon résultat à une forme...simple ! :pleure:.
Comment faire pour avoir un rendu qui ressemblerait à l'image attendue (progressive) s’il-vous-plait ?
D'après moi, il faudrait utiliser les suites géométriques car on multiplie par quelque chose pour avoir cet effet. Qu'en pensez-vous ?
Mais je ne sais pas comment mettre cette suite en place dans mon programme, sous forme Python...
Quelqu’un pourrait-il m’aider à m'indiquer le programme à compléter s’il-vous-plait ? je suis arrivé au bout de mes capacités...:(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| ############# Importation fonction et modules : ################
from tkinter import *
from random import randrange
############# Fonctions utiliées : ##############
def damier():
"Trace le damier"
y = 0
while y < 16:
if y % 2 == 0: # Décale une fois sur deux
x = 0 # la position du premier carré rouge
else:
x = 1
carre_rouge(x*taille_carre, y*taille_carre)
y += 1
def carre_rouge(x, y):
"Trace les carrés rouges"
i = 0
while i < 8:
can.create_rectangle(x, y, x+taille_carre, y+taille_carre, fill = "#B80000", width = 0) #largeur bordures = 0
i += 1
x += taille_carre * 2
############## Programme principal : #################
taille_carre = 20 # permet de définir une taille de damier modifiable
fen = Tk() #permet d'ouvrir une fenêtre (grâce au module "tkinter")
can = Canvas(fen, width = taille_carre * 16, height = taille_carre * 16, bg = "white") #pour afficher le damier de taille 16/16
can.pack(side = TOP, padx = 5, pady = 5)
b1 = Button(fen, text = "Résultat", command = damier)
b1.pack(side = BOTTOM, padx = 2, pady = 2)
fen.mainloop() |
Un GRAND merci à vous