以下程序那里有问题(Python用for循环计算1加到100)

sum=0
b=1
for a in (b<=100):
sum=sum +b
b=b+1

print(sum)

代码如下:

sum = 0
for i in range(1,101):
    sum = sum + i
print(sum)

运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-06

错误报告是:TypeError: 'bool' object is not iterable

bool类型的数据不能用于for 循环.....

因为在(b<=100)中返回的是True或者False(bool类型的数据就是true或者false),所以你这个循环就可以用while来代替for,如下:

sum = 0
b = 1
while b <= 100:
    sum += b
    b  += 1
    
print(sum)

运行成功!!!

结果5050

当然,如果执意要for循环,那么把你的(b <= 100)修改成range(100)既可

第2个回答  2018-08-06
pyhon中的sum是关键字,你先把所有的sum变成sum1试试追问

没用,还是报错
错误提示:Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/helloworld/nlr.py", line 121, in
for a in (b<=100):
TypeError: 'bool' object is not iterable

追答sum1 =0
b =1
while b<100:
    sum1 = sum1 +b
    b = b+1
print(sum1)

追问

但for还是不行,把sum改成sum1还是不行

追答

for循环不是这么用的

a = [0,1,2,3,4,5,6,7]
sum1 =0
for num in a:
    sum1 =sum1 +num
 print(sum1)

相似回答