I am just trying to find the proper correction to the error in my code.   menu_items = ['Fried Eggrolls', 'Fried Crab Rangoon', 'Summer Rolls', 'Dumplings', 'Crispy Chicken Wings', 'Crispy Squid', 'Shrimp Tempura', 'Fried Daikon Cake', 'Wonton Soup', 'Vietnamese Sandwich'] menu_prices = [(7.50), (8.50), (6.50), (8.95), (11.50), (9.95), (9.95), (12.95), (8.95), (8.50)] ordered_items = [] ordered_quantity = [] subtotal = 0 def printitems():     for i in range(len(menu_items)):         print(f"{i+1}. {menu_items[i]}: ${menu_prices[i]}")         print()      def orderitems():     item = eval(input(" Please Enter the Number of Your Selection: "))     ordered_items.append(item)         quantity = input("Enter the quantity you would like to order: ")     ordered_quantity.append(quantity)     while item != -1 and quantity != 0:            item = eval(input("Please Enter the Number of Your Selection or enter -1 if done: "))         ordered_items.append(item)             quantity = input(" Enter the quantity you would like to order or enter 0 if done: ")         ordered_quantity.append(quantity)     ordered_items.remove(-1)           def calculation():     for i in range(0,len(ordered_items)):         print(menu_items[ordered_items[i]],ordered_quantity[i], menu_prices[ordered_items[i]])         subtotal += float(ordered_quantity[i]) * menu_prices[ordered_items[i]] def receipt():     print(format("\n Vietnamese Noodle House", ">20s"))     print("---------------------------------")     total = round(subtotal * 1.0875, 2)     grandtotal = round(total * 1.15, 2)     print("\n", "Order 1: ", round(subtotal, 2),"\n","\n", "******************************")     print("\n", "Total after tax: ", total)     print("Total with suggested tip of 15%: ", grandtotal) def main():     printitems()     orderitems()     calculation()     receipt()      main()

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
icon
Concept explainers
Question
100%

I am just trying to find the proper correction to the error in my code.

 

menu_items = ['Fried Eggrolls', 'Fried Crab Rangoon', 'Summer Rolls', 'Dumplings', 'Crispy Chicken Wings', 'Crispy Squid', 'Shrimp Tempura', 'Fried Daikon Cake', 'Wonton Soup', 'Vietnamese Sandwich']
menu_prices = [(7.50), (8.50), (6.50), (8.95), (11.50), (9.95), (9.95), (12.95), (8.95), (8.50)]
ordered_items = []
ordered_quantity = []
subtotal = 0

def printitems():
    for i in range(len(menu_items)):
        print(f"{i+1}. {menu_items[i]}: ${menu_prices[i]}")
        print()
    
def orderitems():
    item = eval(input(" Please Enter the Number of Your Selection: "))
    ordered_items.append(item)    
    quantity = input("Enter the quantity you would like to order: ")
    ordered_quantity.append(quantity)
    while item != -1 and quantity != 0:   
        item = eval(input("Please Enter the Number of Your Selection or enter -1 if done: "))
        ordered_items.append(item)    
        quantity = input(" Enter the quantity you would like to order or enter 0 if done: ")
        ordered_quantity.append(quantity)
    ordered_items.remove(-1)
    
    
def calculation():
    for i in range(0,len(ordered_items)):
        print(menu_items[ordered_items[i]],ordered_quantity[i], menu_prices[ordered_items[i]])
        subtotal += float(ordered_quantity[i]) * menu_prices[ordered_items[i]]

def receipt():
    print(format("\n Vietnamese Noodle House", ">20s"))
    print("---------------------------------")
    total = round(subtotal * 1.0875, 2)
    grandtotal = round(total * 1.15, 2)
    print("\n", "Order 1: ", round(subtotal, 2),"\n","\n", "******************************")
    print("\n", "Total after tax: ", total)
    print("Total with suggested tip of 15%: ", grandtotal)


def main():
    printitems()
    orderitems()
    calculation()
    receipt()
    
main()

subtotal += float (ordered_quantity[i]) menu_prices [ordered_items[i]]
UnboundLocalError: local variable 'subtotal' referenced before assignment
Transcribed Image Text:subtotal += float (ordered_quantity[i]) menu_prices [ordered_items[i]] UnboundLocalError: local variable 'subtotal' referenced before assignment
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 3 images

Blurred answer
Knowledge Booster
Control Structure
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education