ЁЯН╜

Python Mini-project: Restaurant Ordering System

Jun 21, 2024

Python Mini-project: Restaurant Ordering System

Introduction

  • рдЖрдЬ рд╣рдо pythonanywhere.com рдкрд░ рдПрдХ рд░реЗрд╕реНрддрд░рд╛рдВ рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдПрдВрдЧреЗред
  • рдЗрд╕рдореЗрдВ рдбрд┐рдХреНрд╢рдирд░реА рдФрд░ рдХрдВрдбреАрд╢рдирд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛ред
  • рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрд╕реЗрдкреНрдЯреНрд╕ рдХреЛ рдкреНрд░реИрдХреНрдЯрд┐рдХрд▓ рд░реВрдк рд╕реЗ рд╕рдордЭреЗрдВрдЧреЗред

Overview of the Project

  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп: рдпреВрдЬрд░ рдСрд░реНрдбрд░ рдХрд░ рд╕рдХреЗ рдФрд░ рдСрд░реНрдбрд░ рдХрд╛ рдЯреЛрдЯрд▓ рдкреНрд░рд╛рдЗрд╕ рдирд┐рдХрд╛рд▓ рд╕рдХреЗред
  • рдореЗрдиреНрдпреВ рдореЗрдВ рдкрд╛рдБрдЪ рдЖрдЗрдЯрдореНрд╕: рдкрд┐рдЬрд╝реНрдЬрд╝рд╛, рдкрд╛рд╕реНрддрд╛, рдмрд░реНрдЧрд░, рд╕реИрд▓реЗрдб рдФрд░ рдХреЙрдлреАред
  • рдпреВрдЬрд░ рд╕реЗ рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ рдЖрдЗрдЯрдо рдСрд░реНрдбрд░ рдХрд░рд╡рд╛рдирд╛ рдФрд░ рдЯреЛрдЯрд▓ рдкреНрд░рд╛рдЗрд╕ рдирд┐рдХрд╛рд▓рдирд╛ред

Detailed Implementation

Step 1: Defining the Menu

  • рдбрд┐рдХреНрд╢рдирд░реА рдХреА рдорджрдж рд╕реЗ рдореЗрдиреНрдпреВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ред
    menu = {
        'рдкрд┐рдЬрд╝реНрдЬрд╝рд╛': 440,
        'рдкрд╛рд╕реНрддрд╛': 50,
        'рдмрд░реНрдЧрд░': 60,
        'рд╕реИрд▓реЗрдб': 770,
        'рдХреЙрдлреА': 80
    }
    

Step 2: Greeting the Customer

  • print рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд╕реНрдЯрдорд░ рдХреЛ рдЧреНрд░реАрдЯ рдХрд░рдирд╛:
    print('рд╡реЗрд▓рдХрдо рдЯреВ pythonanywhere.com')
    

Step 3: Displaying the Menu

  • print рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ \n рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдореЗрдиреНрдпреВ рдХреЛ рдЕрдЪреНрдЫреЗ рд╕реЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд░рд╛рдирд╛ред
    print('рдореЗрдиреНрдпреВ:\nрдкрд┐рдЬрд╝реНрдЬрд╝рд╛: тВ╣440\nрдкрд╛рд╕реНрддрд╛: тВ╣50\nрдмрд░реНрдЧрд░: тВ╣60\nрд╕реИрд▓реЗрдб: тВ╣770\nрдХреЙрдлреА: тВ╣80')
    

Step 4: Taking the Order

  • рдпреВрдЬрд░ рд╕реЗ рдкрд╣рд▓рд╛ рдСрд░реНрдбрд░ рд▓реЗрдирд╛:
    item1 = input('рдЖрдк рдХреНрдпрд╛ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЛрдЧреЗ?')
    
  • рдЪреЗрдХ рдХрд░рдирд╛ рдХрд┐ item1 рдореЗрдиреНрдпреВ рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ:
    if item1 in menu:
        order_total += menu[item1]
        print(f'рдСрд░реНрдбрд░ рдСрдл {item1} рдРрдб рдХрд┐рдпрд╛ рдЧрдпрд╛')
    else:
        print(f'рдпрд╣ рдЖрдЗрдЯрдо ({item1}) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ')
    

Step 5: Asking for Additional Orders

  • рджреЛрдмрд╛рд░рд╛ рдЗрдирдкреБрдЯ рд▓реЗрдирд╛ рдХрд┐ рдпреВрдЬрд░ рдФрд░ рдХреБрдЫ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ:
    another_order = input('рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рдФрд░ рдСрд░реНрдбрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? (рдпрд╕ / рдиреЛ)')
    
  • рдЙрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдирд╛ рдЕрдЧрд░ рдпреВрдЬрд░ 'рдпрд╕' рдЪреБрдирддрд╛ рд╣реИ:
    if another_order.lower() == 'yes':
        item2 = input('рджреВрд╕рд░рд╛ рдЖрдЗрдЯрдо рдмрддрд╛рдПрдВ:')
        if item2 in menu:
            order_total += menu[item2]
            print(f'рдСрд░реНрдбрд░ рдСрдл {item2} рдРрдб рдХрд┐рдпрд╛ рдЧрдпрд╛')
        else:
            print(f'рдпрд╣ рдЖрдЗрдЯрдо ({item2}) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ')
    

Step 6: Display the Total Amount

  • рдЯреЛрдЯрд▓ рдЕрдорд╛рдЙрдВрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХрд░рдирд╛:
    print(f'рджреЗрдиреЗ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐: тВ╣{order_total}')
    

Future Enhancements

  • рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╕реНрдЯрдорд░ рдХреЗ рд╕реНрд╡рдпрдВ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рддрдХ рдЪрд▓рддрд╛ рд░рд╣реЗред
  • рдлрд╝реЛрди рдмреБрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ:
    • рдирд╛рдо рдФрд░ рдирдВрдмрд░ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
    • рдбрд┐рдХреНрд╢рдирд░реА рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрд╛ рдкреНрд░рдпреЛрдЧред

Conclusion

  • рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдорд┐рдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдВрдбреАрд╢рдирд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛ред
  • рдЕрдЧрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдЦреЗрдВрдЧреЗред

рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдлреАрдбрдмреИрдХ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдЪреИрдирд▓ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ!

[рд╕рдВрдЧреАрдд]