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

如何统计多行输入字符串的单词总量与平均值并排查实现代码问题

代码问题排查与修复

原代码存在的问题

  • 首次输入的单词没有被统计:第一次调用input拿到输入内容后,仅做了split操作,没有将对应单词数计入总计数
  • 循环内计数逻辑错误:每次新拿到一行输入后,遍历首次输入生成的wordlist,导致当前行的单词数被重复累加「首次输入单词个数」次,计数完全失真
  • 存在多余的计数逻辑:if count > 0: count +=1 没有任何业务意义,会凭空增加无效计数
  • 缺少输入行数统计:无法计算单次输入的平均单词量

修复后代码

count = 0
line_count = 0
while True:
    words = input("Enter a line of words, press Enter to stop: ")
    if words == "":
        break
    current_words = words.split()
    count += len(current_words)
    line_count += 1

print(f"There were {count} words")
if line_count > 0:
    avg = round(count / line_count, 2)
    print(f"Average words per line: {avg}")
else:
    print("No valid input received")

修复说明

  • 把输入逻辑统一放到循环内,避免漏统计首行输入
  • 每次拿到一行输入先判断是否为空,为空直接终止循环
  • 仅对当前行的单词数做一次累加,同时统计有效输入行数
  • 最后补充平均单词量的计算和输出逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:15:04