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

循环统计1-1000中零的个数报错,求问题排查

问题分析与修复方案

嘿,我来帮你搞定这个问题!你的代码里有两个关键问题导致了语法错误和逻辑问题:

1. 语法错误:for "0" in n: 写法不对

for循环的迭代位置必须是一个变量名,而不是字符串字面量(比如"0")。你想做的是检查数字里的每一位是不是0,所以应该先把整数转成字符串,然后遍历每个字符,再判断这个字符是不是"0"。

2. 类型错误:整数不能直接迭代

n是整数类型,Python里整数不是可迭代的序列,没法直接用in来遍历每一位。必须先把它转换成字符串str(n),这样才能逐个访问每一位数字。


修复后的代码(两种方式)

方式一:嵌套循环逐位判断

var = 0
for n in range(1, 1001):
    # 将整数转为字符串,方便遍历每一位
    for char in str(n):
        if char == "0":
            var += 1
print(var)  # 输出192,符合预期

方式二:用字符串的count()方法更简洁

Python的字符串有个count()方法,可以直接统计指定子串的出现次数,用这个方法能让代码更简短:

var = 0
for n in range(1, 1001):
    var += str(n).count("0")
print(var)  # 同样输出192

运行这两段代码都能得到你预期的192啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:36:37