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
- рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдорд┐рдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдХрдВрдбреАрд╢рдирд▓ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯреНрд╕ рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛ред
- рдЕрдЧрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд▓реВрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдЦреЗрдВрдЧреЗред
рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдлреАрдбрдмреИрдХ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдФрд░ рдЪреИрдирд▓ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ!
[рд╕рдВрдЧреАрдд]