You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python编程作业求助:while循环构建咖啡价格列表代码故障排查

问题分析与代码修正

嘿,我帮你看看代码里的问题哈,几个小细节没处理对,导致功能不正常:

  • 循环初始条件错误:你一开始把coffee设为0,而while coffee > 0的条件会直接跳过循环,根本不会进入输入环节,自然也收集不到任何价格。
  • 价格添加逻辑颠倒:你现在把负数加到了列表里,但任务要求是把正数价格追加进去,负数只是用来终止循环的,不能加到列表中。
  • 缺少统计元素数量的步骤:任务明确要求完成后统计列表元素数量,你的代码里没实现这部分。

这里是修正后的代码,完全符合任务要求:

# 初始化空的咖啡价格列表
coffee_price_list = []

# 创建无限循环,直到输入负数才退出
while True:
    # 获取用户输入并转换为整数类型
    coffee = int(input("Enter price of coffee or a negative value to stop: "))
    
    # 如果输入负数,直接终止循环
    if coffee < 0:
        break
    
    # 输入正数时,将价格追加到列表中
    coffee_price_list.append(coffee)

# 统计并打印列表元素数量
print(f"总共收集了 {len(coffee_price_list)} 个咖啡价格")

# 逐行打印每个价格
print("所有咖啡价格如下:")
for price in coffee_price_list:
    print(price)

我再给你拆解下修正的关键点:

  1. 用while True创建无限循环,确保程序一开始就能进入输入流程,不用依赖初始变量值。
  2. 调整判断逻辑:输入负数时直接用break跳出循环,只有正数才会被添加到列表里,完全符合任务要求。
  3. 增加了len(coffee_price_list)来统计元素数量,并通过打印语句展示出来,满足任务的统计要求。

内容的提问来源于stack exchange,提问作者Christopher Fernandes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:41:00