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
Step 3: Displaying the Menu
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
Future Enhancements
- рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╕реНрдЯрдорд░ рдХреЗ рд╕реНрд╡рдпрдВ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рддрдХ рдЪрд▓рддрд╛ рд░рд╣реЗред
- рдлрд╝реЛрди рдмреБрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ:
- рдирд╛рдо рдФрд░ рдирдВрдмрд░ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
- рдбрд┐рдХреНрд╢рдирд░реА рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХрд╛ рдкреНрд░рдпреЛрдЧред
Conclusion
- рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдорд┐рдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдВрдбреАрд╢рдирд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛ред
- рдЕрдЧрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдЦреЗрдВрдЧреЗред
рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдлреАрдбрдмреИрдХ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдЪреИрдирд▓ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ!
[рд╕рдВрдЧреАрдд]