如何在Python Menu类中实现账单金额累计至daily_income的方法?
解决方法
核心逻辑很简单:每次通过calculate_bill算出单笔账单金额后,把这个数值直接加到self.daily_income里就行——毕竟每算一次账单就对应一笔消费,这笔钱自然要计入当日总收入。
给你一个完整的示例代码,你可以对照自己的类调整:
class Menu: def __init__(self): self.daily_income = 0 # 初始化当日收入为0 # 这里假设你有菜品价格的存储结构,比如字典 self.dishes = { "番茄炒蛋": 22, "鱼香肉丝": 26, "白米饭": 2 } def calculate_bill(self, order): # 计算当前订单的账单金额 total = 0 for dish, count in order.items(): if dish in self.dishes: total += self.dishes[dish] * count else: print(f"提示:菜单里没有{dish}这个菜") # 关键步骤:把当前账单金额累加到每日收入 self.daily_income += total # 返回账单金额(如果需要给用户展示的话) return total
使用示例
# 创建菜单实例 my_menu = Menu() # 第一笔订单:1份鱼香肉丝,2份白米饭 order1 = {"鱼香肉丝": 1, "白米饭": 2} bill1 = my_menu.calculate_bill(order1) print(f"这笔订单金额:{bill1}元") print(f"当日总收入:{my_menu.daily_income}元") # 26 + 4 = 30元 # 第二笔订单:2份番茄炒蛋 order2 = {"番茄炒蛋": 2} bill2 = my_menu.calculate_bill(order2) print(f"这笔订单金额:{bill2}元") print(f"当日总收入:{my_menu.daily_income}元") # 30 + 44 = 74元
额外补充
- 如果你已经写好了
calculate_bill的计算逻辑,只需要在方法最后加一行self.daily_income += 你的账单变量就行,不用改其他部分。 - 如果需要每日清零收入,可以加个简单的方法:
def reset_daily_income(self): self.daily_income = 0
内容的提问来源于stack exchange,提问作者Vegard
相关产品推荐
相关产品推荐

