Utilisez les flèches haut et bas pour naviguer dans le calendrier.
Ma playlist Youtube consacrée à la NUMWORKS
from kandinsky import draw_string, fill_rect from ion import keydown,KEY_UP,KEY_DOWN from time import sleep nbjMois = "303232332323" # 28 + nb de jours dans le mois (28+3 pour janv, 28 + 0 pour février etc.) jSem = "LMmJVSD" mois = "Janv,Fev, Mars,Avril,Mai,Juin,Juill,Aout,Sept,Oct,Nov,Dec".split(',') def aff(d): nb = 0 v = 5 # le 1/1/2022 etait un vendredi for i in range(d): v += int(nbjMois[i]) # on cherche le 1er du mois n°d v %= 7 while nb < 2: # Affichage de 2 mois m = d + nb for i,js in enumerate(jSem): # Ligne des jours de la semaine draw_string(js,10 + 30 * i, 5 + 110 * nb) l = 1 for j in range(28 + int(nbjMois[m])): # on parcourt tous les jours du mois pos = jSem.index(jSem[v]) # dans quelle colonne est ce jour de la semaine ? draw_string(str(j + 1),10 + 30 * pos, 5 + 110 * nb + 15 * l) v = (v + 1) % 7 if pos == 6: l += 1 # Si dimanche on passe à la ligne suivante draw_string(mois[m], 250, 110 * nb + 30) nb += 1 def eff(): fill_rect(0,0,320,222,(255,255,255)) sleep(.2) def key(): # attente touche while True: for (i, k) in enumerate([KEY_UP,KEY_DOWN]): if keydown(k): return 2 * i - 1 # renvoyer -1 ou +1 d = 0 while True: aff(d) t = key() d = (d + 2 * t) % 12 # on avance ou recule dans le calendrier eff()
from kandinsky import draw_string, fill_rect from ion import keydown,KEY_UP,KEY_DOWN from time import sleep nbjMois = "303232332323" jSem = "LMmJVSD" mois = "Janv,Fev, Mars,Avril,Mai,Juin,Juill,Aout,Sept,Oct,Nov,Dec".split(',') def aff(d): nb = 0 v = 5 # mettre 6 en 2023 for i in range(d): v += int(nbjMois[i]) v %= 7 while nb < 2: m = d + nb for i,js in enumerate(jSem): draw_string(js,10 + 30 * i, 5 + 110 * nb) l = 1 for j in range(28 + int(nbjMois[m])): pos = jSem.index(jSem[v]) draw_string(str(j + 1),10 + 30 * pos, 5 + 110 * nb + 15 * l) v = (v + 1) % 7 if pos == 6: l += 1 draw_string(mois[m], 250, 110 * nb + 30) nb += 1 def eff(): fill_rect(0,0,320,222,(255,255,255)) sleep(.2) def key(): while True: for (i, k) in enumerate([KEY_UP,KEY_DOWN]): if keydown(k): return 2 * i - 1 d = 0 while True: aff(d) t = key() d = (d + 2 * t) % 12 eff()