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

编写循环累加用户输入十个数的程序及排查NoneType比较错误

问题解决:修复最大值查找代码 + 实现累加程序

一、修复最大值查找代码的错误

错误原因分析

  1. 类型错误根源:print()函数的返回值是None,你执行List.append(print(int(input("Enter only integer value::"))))时,实际是把None添加到了列表中,最终列表所有元素都是None,后续执行a < List[x]时,就是None与None比较,自然触发TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'。
  2. 逻辑错误:原代码的最大值判断逻辑颠倒,且没有正确更新最大值变量,会导致输出结果错误。

修正后的代码

# Task 4: 循环获取用户输入的十个数并找出最大值
num_list = []
for i in range(1, 11):
    # 先获取输入并转成整数,直接添加到列表,不要套print
    num = int(input("Enter only integer value::"))
    num_list.append(num)

# 初始化最大值为列表第一个元素
max_num = num_list[0]
for num in num_list:
    # 如果当前数比当前最大值大,更新最大值
    if num > max_num:
        max_num = num

# 循环结束后打印最终最大值
print(max_num, "is the largest number")

关键修正点

  • 移除print()对输入值的包裹,直接将整数存入列表
  • 修正最大值判断逻辑:遍历列表时,用当前元素和最大值比较,更新最大值
  • 循环结束后统一打印结果,避免中途错误输出

二、实现循环累加十个数的程序

直接通过循环获取用户输入的十个数,同时累加求和,代码如下:

# 循环累加用户输入的十个数
total = 0
for i in range(1, 11):
    num = int(input(f"Enter number {i}: "))
    total += num

print("总和为:", total)

代码说明

  • 初始化累加变量total为0
  • 循环10次,每次获取用户输入的整数并加到total中
  • 循环结束后输出最终累加结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 11:57:15