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

While循环无法终止及排除-1的平均值计算方法求助

问题修复与完整实现

你的代码存在几个关键问题导致循环无法停止,同时缺少计算平均值的必要逻辑,下面一步步解决:

代码中的核心问题

  • Python的while语句末尾必须添加冒号:,否则会触发语法错误。
  • 你将输入内容转成了字符串str(),但循环条件是和整数-1做比较,类型不匹配的情况下永远不会满足退出条件;而且输入的值没有赋值给变量n,循环条件里的n从未更新,自然无法终止循环。

完整实现代码

total = 0
count = 0
n = 0  # 初始化循环控制变量

while n != -1:
    try:
        n = int(input("enter your number:"))
        if n != -1:
            total += n
            count += 1
    except ValueError:
        print("请输入有效的整数")

if count > 0:
    average = total / count
    print(f"平均值为: {average}")
else:
    print("没有输入有效数字")

代码说明

  • 初始化total(存储输入数字的总和)和count(统计有效数字的个数)为0,这两个变量是计算平均值的基础。
  • 每次循环中先获取用户输入并转为整数,再更新循环控制变量n。
  • 只有当输入的数字不是-1时,才将其加入总和并增加计数。
  • 用try-except捕获用户输入非整数的情况,避免程序直接崩溃。
  • 循环结束后,判断是否有有效输入:如果有则计算并打印平均值;如果用户直接输入-1,则提示没有有效数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 08:15:46