Page 1 sur 1

Menu simple en python

Message non luPosté: 02 Déc 2021, 20:16
de LoKiki56
Bonjour !
Après un bon moment de lecture du forum en sous-marin, je profite de l'acquisition récente d'un Numworks pour prendre la plume (enfin le clavier...)
Je vous partage une petite fonction de menu en python avec les bibliothèques kandinsky et ion de la Numworks.
Image
Je me suis inspiré pour la gestion du clavier du travail de cent20.
Code: Tout sélectionner
from kandinsky import *
from ion import *

def appui(touche=range(53)): # Merci cent20
    while True:
        for i in touche:
            if keydown(i):
                while keydown(i): True
                return i

def menu(titre,options):
    for i in range(len(options)):
        options[i]=options[i][:22]
    index = 0
    commande = 0
    gris=(106,101,115)
    noir=(0,0,0)
    blanc=(255,255,255)
    selec=(213,214,230)
    fill_rect(35,18,252,18*(1+len(options))+1,gris)
    draw_string(titre,int(160-10*len(titre)/2),18,blanc,gris)
    fill_rect(36,36,250,18*(len(options)),blanc)
    while (commande!=4 and commande!=5 and commande!=52):
        for i in range(len(options)):
            if i == index:
                draw_string("  "+options[i]+"                          "[:(23-len(options[i]))],36,36+18*i,noir,selec)
            else:
                draw_string("  "+options[i]+"                          "[:(23-len(options[i]))],36,36+18*i,noir,blanc)
        commande=appui((1,2,4,5,52))
        #draw_string(str(commande),0,0)
        if commande == 1 and index>0:index-=1
        if commande == 2 and index<len(options)-1:index+=1
    if commande==5:index=-1
    return index

choix=['Choix 1','Choix 2','Choix 3','Choix 4']
a=menu('Choisissez...',choix)
print("Option choisie :",a,":",choix[a])
bidon=input('truc:?')

Le input à la fin permet de revenir à la console pour visualiser le résultat.

Sinon y'a que chez moi que depuis aujourd'hui je ne peux plus voir le contenu de ma calculatrice (sous Omega) depuis le site Numworks ? Ca fonctionnait encore il y a un jour ou deux et ce soir ça fait resetter la calcu (avec perte des scripts...).

Re: Menu simple en python

Message non luPosté: 10 Déc 2021, 22:40
de frablock
Bien joué, c'est un très bon truc niveau interface.
Et oui, si le site Numworks indique que ta calculatrice est corrompue, tu peux réinstaller Omega directement, normalement, tu ne perds pas tes scripts

Re: Menu simple en python

Message non luPosté: 11 Déc 2021, 20:49
de cent20
Très sympa ton menu, quand on a fait le notre avec Arthur, un de mes élève de l’époque, mon niveau de maîtrise du python était approximatif, donc le code est loin d’être propre. Le tien a surtout l’air d’être peu coûteux en ressource.

- Quelle taille fait’il en ko ?
- as tu une idée dans sa consommation côté tas python ?

Et sinon, bienvenue sur ce forum, ils sont un peu trop pro TI mais on est de plus en plus nombreux à utiliser des NumWorks. ☺️