Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a Menu in Python [closed]

Tags:

python

menu

I'm working on making a menu in python that needs to:

  1. Print out a menu with numbered options
  2. Let the user enter a numbered option
  3. Depending on the option number the user picks, run a function specific to that action. For now, your function can just print out that it's being run.
  4. If the user enters in something invalid, it tells the user they did so, and re-display the menu
  5. use a dictionary to store menu options, with the number of the option as the key, and the text to display for that option as the value.
  6. The entire menu system should run inside a loop and keep allowing the user to make choices until they select exit/quit, at which point your program can end.

I'm new to Python, and I can't figure out what I did wrong with the code.

So far this is my code:

ans=True
while ans:
    print (""""
    1.Add a Student
    2.Delete a Student
    3.Look Up Student Record
    4.Exit/Quit
    """")
    ans=input("What would you like to do?" 
    if ans=="1": 
      print("\nStudent Added") 
    elif ans=="2":
      print("\n Student Deleted") 
    elif ans=="3":
      print("\n Student Record Found") 
    elif ans=="4":
      print("\n Goodbye") 
    elif ans !="":
      print("\n Not Valid Choice Try again") 

ANSWERED

This is what he wanted apparently:

menu = {}
menu['1']="Add Student." 
menu['2']="Delete Student."
menu['3']="Find Student"
menu['4']="Exit"
while True: 
  options=menu.keys()
  options.sort()
    for entry in options: 
      print entry, menu[entry]

    selection=raw_input("Please Select:") 
    if selection =='1': 
      print "add" 
    elif selection == '2': 
      print "delete"
    elif selection == '3':
      print "find" 
    elif selection == '4': 
      break
    else: 
      print "Unknown Option Selected!" 
like image 720
Jack Avatar asked Nov 13 '13 21:11

Jack


People also ask

How do you exit a menu in Python?

Python exit commands: quit(), exit(), sys. exit() and os. _exit()

How do you create a dynamic menu in Python?

6: user_input = int(input()) if user_input == 1: print(Executing menu item 1) elif user_input == 2: print(Executing menu item 2) elif user_input == 3: print(Executing menu item 3) elif user_input == 4: print(Executing menu item 4) elif user_input == 5: print(Executing menu item 5) elif user_input == 6: print(Exiting... ...

How do you clear the screen in Python?

Method 1: Clear screen in Python using cls You can simply “cls” to clear the screen in windows.

How do you give options in Python?

Python provides a multiple-choice input system. You have to first get the keyboard input by calling the input() function. Then evaluate the choice by using the if-elif-else structure.


2 Answers

def my_add_fn():
   print "SUM:%s"%sum(map(int,raw_input("Enter 2 numbers seperated by a space").split()))

def my_quit_fn():
   raise SystemExit

def invalid():
   print "INVALID CHOICE!"

menu = {"1":("Sum",my_add_fn),
        "2":("Quit",my_quit_fn)
       }
for key in sorted(menu.keys()):
     print key+":" + menu[key][0]

ans = raw_input("Make A Choice")
menu.get(ans,[None,invalid])[1]()
like image 80
Joran Beasley Avatar answered Sep 30 '22 12:09

Joran Beasley


There were just a couple of minor amendments required:

ans=True
while ans:
    print ("""
    1.Add a Student
    2.Delete a Student
    3.Look Up Student Record
    4.Exit/Quit
    """)
    ans=raw_input("What would you like to do? ") 
    if ans=="1": 
      print("\n Student Added") 
    elif ans=="2":
      print("\n Student Deleted") 
    elif ans=="3":
      print("\n Student Record Found") 
    elif ans=="4":
      print("\n Goodbye") 
    elif ans !="":
      print("\n Not Valid Choice Try again") 

I have changed the four quotes to three (this is the number required for multiline quotes), added a closing bracket after "What would you like to do? " and changed input to raw_input.

like image 21
ChrisProsser Avatar answered Sep 30 '22 12:09

ChrisProsser