如何通过while循环直至n=0并累加各层成本,实现披萨蛋糕总成本计算
修复披萨蛋糕成本计算函数
你的代码问题在于每次循环都会覆盖cost变量,最终只返回最后一层的成本,没有实现累加所有层总成本的需求。
修改后的代码如下:
def get_pizza_cake_cost(base_diameter, height_per_level): n = base_diameter total_cost = 0 # 初始化总成本为0 while n > 0: current_layer_cost = get_pizza_area(n) * height_per_level * PIZZA_CAKE_COST_PER_CENTIMETRE_CUBED total_cost += current_layer_cost # 累加当前层成本到总成本 n = n - 1 return total_cost
关键改动说明:
- 新增
total_cost变量用于存储累加的总成本,初始值设为0 - 每次循环计算当前层的成本(命名为
current_layer_cost避免混淆),并将其加到total_cost中 - 循环结束后返回累加完成的
total_cost,而非最后一层的单独成本
内容的提问来源于stack exchange,提问作者BeginnerCoder
相关产品推荐
相关产品推荐

