首页 > 解决方案 > 添加 4 位偶数的 For 循环

问题描述

一个 for 循环将所有 4 位偶数一个接一个地相加,打印每 100 个数字的中间和(即,在索引位置 99、199、299,...)及其索引号。到目前为止,这是我的答案:

l = range(1, 1000, 2)
sum1 = 0
for i in range(len(l)):
    sum1 += l[i]
    if i % 100 == 99 and (len(l[i]) == 4):
        print(sum1, i)
print(sum1)

这是我得到的错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-175-6ae4f990101a> in <module>
      4 for i in range(len(l)):
      5     sum1 += l[i]
----> 6     if i % 100 == 99 and (len(l[i]) == 4):
      7         print(sum1, i)
      8 

TypeError: object of type 'int' has no len()

谁能启发我我做错了什么?任何帮助将不胜感激。谢谢!

标签: pythonpython-3.xfor-loop

解决方案


您无法测量整数中的字符数,因为它不是字符串。

用于l[i] >= 1000 and l[i] <= 9999测试它是否为 4 位数长。

如果你坚持要检查字符串,那么len(str(l[i])).


推荐阅读