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

Python循环不接收输入且输出None,新手求排查代码错误

代码错误点与修复方案

核心错误列表

  • input内嵌套print导致输出None:print()执行后返回值为None,被input()当成提示文本输出,所以会出现多余的None,直接把提示内容写到input的参数里即可。
  • 未提前初始化array列表:Python中列表不能直接通过下标赋值,必须先声明初始化,否则会抛出索引异常。
  • 未对input返回值做类型转换:input()默认返回字符串类型,直接和整数0对比永远不成立,后续求和时字符串和整数相加也会报错,需要转成int类型。
  • 计数变量名不统一:你预先定义的零值计数变量是no_of_zeros,后续自增时用了未声明的is_zero,会抛出变量未定义错误。
  • 变量名冲突:使用sum作为变量名会覆盖Python内置的sum()求和函数,属于不规范写法。

修复后可正常运行的代码

no_of_zeros = 0
array = [0] * 5  # 提前初始化长度为5的列表
for i in range(5):
    # 移除嵌套的print,输入值转整数
    array[i] = int(input(f"Enter element no: {i+1}"))
    if array[i] == 0:
        array[i] = 1
        no_of_zeros += 1  # 统一计数变量名

total = 0  # 避免和内置sum函数重名
for j in range(5):
    total += array[j]

print(total)
print(no_of_zeros)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:45:04