1.定义一个饭店类
属性,名字,菜单,金额,余额
方法:点餐,付款【取款需要判断余额是否足够】
你抄错题了吧,饭店又不是银行,取什么款呀
class restaurant():
def __init__(self, name: str, menu: list, money: float, balance: float):
self._name = name
self._menu = menu
self._money = money
self._balance = balance
def getRestaurantName(self) -> str:
return self._name
def getRestaurantMenu(self) -> list:
return self._menu
def getRestaurantMoney(self) -> float:
return self._money
def getRestaurantBalance(self) -> float:
return self._balance
def orderFood(self) -> list:
orderList: list = []
menu: list = self.getRestaurantMenu()
print(f'\t\t\t\t{self.getRestaurantName()}菜单\t\t')
for item in menu:
for i in item.keys():
print(i, ':', item[i], end='\t\t')
print('')
while True:
orderNumber = input('请输入点单序号:')
if orderNumber == 'q' or orderNumber == 'Q':
break
if not orderNumber.isdigit() or int(orderNumber) > len(menu):
print('输入错误请重输')
else:
orderList.append({'名字': menu[int(orderNumber) - 1]['名字'], '价格': menu[int(orderNumber) - 1]['价格']})
self._money += int(menu[int(orderNumber) - 1]['价格'])
return orderList
def payment(self, orderMenu: list) -> None:
print('您点的菜有:')
for item in orderMenu:
for i in item.keys():
print(i, ':', item[i], end='\t\t')
print('')
print(f'一共{self._money}元')
if self._balance < self._money:
print('不好意思,亲!您的余额不足,无法支付该菜单')
else:
self._balance -= self._money
print(f'支付成功,亲!您的余额为{self._balance}欢迎您下次光临!')
pass
if __name__ == "__main__":
name: str = '大排档'
menu: list = [
{'序号': 1, '名字': '酸辣鱼片', '价格': '15'},
{'序号': 2, '名字': '麻婆豆腐', '价格': '25'},
{'序号': 3, '名字': '辣子鸡丁', '价格': '16'},
{'序号': 4, '名字': '鲜椒牛肉', '价格': '24'},
{'序号': 5, '名字': '小炒肉', '价格': '10'}
]
money: float = 0
balance: float = 100
r = restaurant(name, menu, money, balance)
order = r.orderFood()
r.payment(order)
pass