In this lab, we will be building an application that uses an interactive menu. Let's say our high-level menu has the following options: L : List A : Add U : Update D : Delete S : Save R : Restore Q : Quit These key-option mappings will be stored in a dictionary in the main program. print_main_menu() function Write the print_main_menu() that accepts a dictionary of keys-options like the one shown above and prints the menu options stored in that dictionary in an easy-to-read format. Below is an example of the result of calling print_main_menu() (notice the question it asks at the top - it is part of the function output):

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
  • use a dictionary to store menu items
  • use a function to print formatted menu options
  • use a while loop to create an interactive program
  • check the user input using if branches
  • check that an option is correct (verify that a dictionary key exists)
  • use break to interrupt the program execution

Introduction

In this lab, we will be building an application that uses an interactive menu.

Let's say our high-level menu has the following options:

L : List A : Add U : Update D : Delete S : Save R : Restore Q : Quit

These key-option mappings will be stored in a dictionary in the main program.

print_main_menu() function

Write the print_main_menu() that accepts a dictionary of keys-options like the one shown above and prints the menu options stored in that dictionary in an easy-to-read format. Below is an example of the result of calling print_main_menu() (notice the question it asks at the top - it is part of the function output):

Example

Given the menu with the following options as mentioned above, the call to print_main_menu(main_menu) will output:

========================== What would you like to do? L - List A - Add U - Update D - Delete S - Save the data R - Restore data from file Q - Quit this program ==========================

Program flow

The expected program flow is:

  • The main program starts with a menu of options given above
  • Loop indefinitely (while the user didn't choose to exit):
    • Print the menu to the user
    • Get the user's choice from input()
    • Check if the user's choice is a valid option in the menu (is it one of the dictionary keys?).
      • If the input is a valid option, print the option that user selected
      • If not, simply continue from the top of the loop
    • If the user entered 'Q', break the while loop

Instructions

  1. Fix TODO 1: Add the options from the instructions to the_menu dictionary inside the main program.

  2. Fix TODO 2: Implement the "Quit" option, breaking from the while loop if the user input is an uppercase OR lowercase "Q".

  3. Fix TODO 3: Check whether a provided option is a valid menu option.

Each time a valid menu option is provided, the program "echoes" it back to the user as follows:

print(f"You selected option {opt} to > {the_menu[opt]}.")

Hints

  • Make sure you do not hard-code the menu options in your functions - the options need to be retrieved from the dictionary provided as a parameter to the function.

enter solution here:

def print_main_menu(menu):
    """
    Given a dictionary with the menu,
    prints the keys and values as the
    formatted options.
    Adds additional prints for decoration
    and outputs a question
    "What would you like to do?"
    L : List
A : Add
U : Update
D : Delete
S : Save
R : Restore
Q : Quit
    """
for i in the_menu:
print(i,':',the_menu[i])
return ''
 
    
if __name__ == "__main__":
    the_menu = {'L': 'List','A': 'Add', 'U': 'Update', 'D': 'Delete', 'S': 'Save the data', 'R': 'Restore data from file', 'Q': 'Quit this program'}
    opt = None
 
    while True:
        print_main_menu(the_menu) # TODO 1: uncomment, define the function, and call with the menu as an argument
        print("::: Enter an option")
        opt = input("> ")
        opt=opt.upper()
 
        if opt == 'Q': # TODO 2: make Q or q quit the program
            print("Goodbye!\n")
            break # exit the main `while` loop
        else:
            if check_option(opt, the_menu) == "invalid": # TODO 3: check of the character stored in opt is in the_menu dictionary
                print(f"You selected option {opt} to > {the_menu[opt]}.")
            else:
                print(f"WARNING: {opt} is an invalid option.\n")
 
=zyBooks
+5.21 LABLECTURE-The Tao Toe
Students:
This content contreded by your instructor, and
and is not
zyBooks content Direct questions or consems about
this content to your instructor if you have
technical issues with the zylab suberiam
use the Trouble with lab button at the bottom of the
5.22 LAB CHECKPOINT: In
CSWB Learning Goals
use a dictionary to store menu items
use a function to print formatted menu
options
use a while loop to create an interactive
program
check the user input using if branches
check that an option is correct (verify that a
dictionary key exista)
use break to interrupt the program execution
Introduction
in this lab, we will be building an application that
uses an interactive menu
Let's say our high-level menu has the following
options
1: 1st
A: Add
U: Update
D Delete
Pelate
8: Save
R: Restore
Q: Quit
These key-option mappings will be stored in a
dictionary in the main program.
print_main_menu() function
Write the print nain nenu() that accepts a
dictionary of keys-options like the one shown above
and prints the menu options stored in that
dictionary in an easy-to-read format. Below is an
example of the result of calling
print nain nenu() (notice the question it asks
at the top-it is part of the function output:
Example
Given the menu with the following options as
mentioned above, the call to
print nain nenu(main menu) will output:
What would you like to do?
1 List
A Add
U
Update
D Delete
..
8- Save the data
Dave in data
R- Restore data from file
Q- Quit this progran
Program flow
The expected program flow is
The main program starts with a menu of
options given above
Loop indefinitely (while the user didn't choose
to ext
e-
Print the menu to the user
Get the user's choice from input()
Check if the user's choice is a valid
option in the menus one of the
dictionary keys?).
. If the input is a valid option, print
the option that user selected
not, simply continue from the
top of the loop
If the user entered , break the while
loop
Instructions
1. Fix TODO 1: Add the options from the
instructions to the menu dictionary inside
the main program
2. Fx TODO 2 Implement the "Quit" option,
breaking from the while loop if the user input
is an uppercase OR lowercase "Q"
3. Fix TODO & Check whether a provided option
is a valid menu option.
Each time a valid menu option is provided, the
program 'echoes' it back to the user as follows
print (f*You selected option (opt)
to the menu [opt]).")
Hints
Make sure you do not hard-code the menu
options in your functions the options need to
betrieved from the dictionary provided as a
parameter to the function
LAS
ACTIVITY 5.22. 1: LAB CHECKPOINT Interactive Me
1 def print_main_(menu):
9
9
Given a dictionary with the mens,
prints the keys and values as the
Termatted options.
5
6 Adds additional prints for decora
and outputs aquestion
7
!
8 "What would you like to do?"
18
11
12
13 5: Save
14 R Restore
15 Q: Quit
42-4
A Add
U Update
D Delete
16
17 for 1 in the menu
Develop mode
Submit mode
Run program
Enter program input (optional)
If your code requires input values, provide them her
Program output displayed here
Coding all of your work what is this?
9/2 0,0,0 min 16
Run your pr
Input value
second box
Input (from
+5.23 LAB: Print Beautification
Transcribed Image Text:=zyBooks +5.21 LABLECTURE-The Tao Toe Students: This content contreded by your instructor, and and is not zyBooks content Direct questions or consems about this content to your instructor if you have technical issues with the zylab suberiam use the Trouble with lab button at the bottom of the 5.22 LAB CHECKPOINT: In CSWB Learning Goals use a dictionary to store menu items use a function to print formatted menu options use a while loop to create an interactive program check the user input using if branches check that an option is correct (verify that a dictionary key exista) use break to interrupt the program execution Introduction in this lab, we will be building an application that uses an interactive menu Let's say our high-level menu has the following options 1: 1st A: Add U: Update D Delete Pelate 8: Save R: Restore Q: Quit These key-option mappings will be stored in a dictionary in the main program. print_main_menu() function Write the print nain nenu() that accepts a dictionary of keys-options like the one shown above and prints the menu options stored in that dictionary in an easy-to-read format. Below is an example of the result of calling print nain nenu() (notice the question it asks at the top-it is part of the function output: Example Given the menu with the following options as mentioned above, the call to print nain nenu(main menu) will output: What would you like to do? 1 List A Add U Update D Delete .. 8- Save the data Dave in data R- Restore data from file Q- Quit this progran Program flow The expected program flow is The main program starts with a menu of options given above Loop indefinitely (while the user didn't choose to ext e- Print the menu to the user Get the user's choice from input() Check if the user's choice is a valid option in the menus one of the dictionary keys?). . If the input is a valid option, print the option that user selected not, simply continue from the top of the loop If the user entered , break the while loop Instructions 1. Fix TODO 1: Add the options from the instructions to the menu dictionary inside the main program 2. Fx TODO 2 Implement the "Quit" option, breaking from the while loop if the user input is an uppercase OR lowercase "Q" 3. Fix TODO & Check whether a provided option is a valid menu option. Each time a valid menu option is provided, the program 'echoes' it back to the user as follows print (f*You selected option (opt) to the menu [opt]).") Hints Make sure you do not hard-code the menu options in your functions the options need to betrieved from the dictionary provided as a parameter to the function LAS ACTIVITY 5.22. 1: LAB CHECKPOINT Interactive Me 1 def print_main_(menu): 9 9 Given a dictionary with the mens, prints the keys and values as the Termatted options. 5 6 Adds additional prints for decora and outputs aquestion 7 ! 8 "What would you like to do?" 18 11 12 13 5: Save 14 R Restore 15 Q: Quit 42-4 A Add U Update D Delete 16 17 for 1 in the menu Develop mode Submit mode Run program Enter program input (optional) If your code requires input values, provide them her Program output displayed here Coding all of your work what is this? 9/2 0,0,0 min 16 Run your pr Input value second box Input (from +5.23 LAB: Print Beautification
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

can you adjust it so the format looks like this with the equal signs and dashes please

==========================

What would you like to do?

L - List A - Add

U - Update

D - Delete

S - Save the data

R - Restore data from file

Q - Quit this program

==========================

Solution
Bartleby Expert
SEE SOLUTION
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY