Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3093 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] revenir "menu principal"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PYTHON] revenir "menu principal"

n°2388877
kaillros
Posté le 22-06-2021 à 19:59:45  profilanswer
 

bonsoir  
 
Pour mes entrainements perso (amateur) j'aimerai inscrire un petit quelque chose dans mon script afin qu'après la sélection du choix menu je puisse revenir justement sur ma sélection de menu ou alors inscrire une option pour quitter le menu, actuellement voici mon code :
 

Code :
  1. menu = ("BANANE","POMME","ORANGE","ANANAS","FRAISE","PECHE" )
  2. nbr = 1
  3. print("*******Welcome to resto" )
  4. print("---> notre menu : <----" )
  5. for manger in menu:
  6.     print(nbr,"- ", manger)
  7.     nbr+=1
  8. print("Entrez le nombre correspond a votre choix" )
  9. choix = int(input("votre choix :" ))
  10. if choix >0 and choix<=len(menu):
  11.     print("Vous avez choisi", menu[choix-1])
  12. else:
  13.     print("Mauvais choix" )


 
Je l'avoue j'ignore comment implémenter ces options.... vous avez une idée ?  
 
Merci

mood
Publicité
Posté le 22-06-2021 à 19:59:45  profilanswer
 

n°2388925
rat de com​bat
attention rongeur méchant!
Posté le 23-06-2021 à 15:27:24  profilanswer
 

Il te faut une boucle tant que == while en jargon informatique.
 
Pseudocode, je peux pas te faire le code Python faut de maîtriser ce serpent...
 

Variable Quitter=0
Variable Choix
 
Faire Tant Que (Quitter==0)
    Afficher Menu
    Lire "Choix"
    Afficher Choix
    Afficher "Tapper 1 pour valider ou 0 pour revenir sur votre choix"
    Lire "Quitter"
Fin Tant Que
 
Afficher "Vous avez terminé"
 
Fin De Programme


n°2389818
djinto
Posté le 02-07-2021 à 22:01:23  profilanswer
 

Bonjour,

 

c'est implémenter une liste de choix ( puis actions ) , dans une boucle et invite de commandes.

 

C'est courant ( voir GitHub , et toutes les autres sources existantes. )

 

pour simplifier un peu plus le corps de ta boucle, tu peux faire ( pour séparer le code ... hein )

 

while( choix!=valeur_quitter )

 

Afficher ( ensemble_de_choix_et_chaine )
Lire_choix_et_actions_correspondantes(void)

 

wend

 

ce qui fait que ta variable choix est bien utilisée,
et que tu n'a pas besoin de variable "quitter", puisque c'est une valeur parmi "choix".

 

pour "ensemble_de_choix_et_chaine" ...
tu prépares tes "chaines"(string) de choix.
Donc : une chaine de choix etc ..
c'est :
header ( Etage N  ;  Groupe N° N ... etc .... )
body ( les choix ... du premier au dernier etc ... )
footer ( footer peut être "sélectionnez l'action/ le chiffre que vous voulez.."  )

 


Dans le déroulement :
tu affiches le(s) choix ( Chaine ), l'utilisateur valides.
Puis la variable choix est mise à jour ( c'est le choix de USER ), et une action est lancée.

 

Une action :
ce sera :
descendre dans l'arbre ( hierarchie ) de choix
revenir au niveau précédent
lancer cette fonction là .. qui correspond à choix 2 , puis choix 4 etc ... )
et bien d'autres ...

 

C'est chouette ces cycles là.

 


Si Python le permet,

 

tu pourra formatter, positionner l'affichage dans ta console Python,
c'est de l'optimisation , avec par exemple les header / footer qui ne changent pas  beaucoup.
Et ça fait une fenêtre peut être plus fluide, en tout cas + légère.

 

Comme certaines parties seront statiques .. sans changement,
Et que parfois 'flush' une console , ça fait du lag ... plutot crasseux à regarder.
Pour dire que ce sera indispensable avec les ressources en consoles.

 

( j'avais approché une fenetre comme celle ci, mais dans un autre language )

 

Le positionement aussi , en 'position Offset' ...
c'est utile pour une affichage dans une console en coordonnées X;Y .. buffering ... ( bref .. ça va débarquer dans ton projet rapidement aussi ).
Ta console est une ensemble de colonnes, et de lignes ...
un tableur est pas jaloux du tout ... [0,0 ;;;; maxX;maxY]


Message édité par djinto le 02-07-2021 à 22:33:46

---------------
Nom : Prénom : Age : Adresse : Ville : Code Postal : Num Trois Tel
n°2389819
djinto
Posté le 02-07-2021 à 23:30:18  profilanswer
 

Pour évoluer, parcourir l'ensemble des ressources disponibles,
un tableau 2 dimensions est propice.
 
Pour accéder à son contenu, et remplir ce tableau de fonctions.
tu peux synchroniser l'affichage ( les menus / sous-menus ),
avec les fonctions à appeler.
 
donc un tableau ( 3 * 4 ) pourrait contenir :
    0    1    2         3
0   1    2    quit      back
1   F1   Nul    Null    Null
2   2     3          F2      Null
3    Null    Null   Null      Null
 
 
Et c'est le chemin que fait un ascenseur vertical ET horizontal.
tu vois le lien immédiat entre ton USER qui va d'un menu vers l'autre selon ses choix,
et les coordonnées d'appels de fonctions au même endroit que les choix de USER ??
 
Il n'y pas trop besoin de switch / case / break de 100 kilomètres..
et la valeur Null ... elle fait rien ( elle n'est pas affichée .. )
mais ça "sécurises" le tableau ... pas de vide.
 
Tu peux aussi appliquer POSITION_choix++   ou  Pos_choix--
pour avancer ou rétrograder  dans le tableau..
 
C'est pas mal ?    
 
 
 
 


---------------
Nom : Prénom : Age : Adresse : Ville : Code Postal : Num Trois Tel

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [PYTHON] revenir "menu principal"

 

Sujets relatifs
Création d'une clé de registre dans un paquet python[PYTHON] récupérer données
[Python] Itération sur un DataFrame (pandas)[python] Youtube comment downloader
[Python] - Utilisation dictionnairePython et Pillow
XML espace dans les noms de noeud, acces en pythonMini projet python (Maintenance machines)
Impossible d'exécuter un script Python 
Plus de sujets relatifs à : [PYTHON] revenir "menu principal"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR