Python : TypeError: 'int' object is not iterable

原题目: 寻找平衡点。(程序很简单,容易细节出错)

(假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 )


numbers = [1,3,5,7,9,11,13,20,29]; 
sum = 0;
for num in numbers:
    sum += num    #求出数组的和

for index in range(len(numbers)):
    former = 0
    after = 0
    i = 0
    for i in range(index)   :#求出当前循环点的前半段数据
        former += numbers[i]
    after = sum - former - numbers[index]     #用和减去当前数和前半部分和
    
    if(former == after):
        print ("The balance point is:",numbers[index])


由于是初学,所以第一个程序遇到问题是难免的,谈一下我遇到的问题:

(1)for循环中的递增迭代: for index in range(len(numbers)): 对于数组的索引迭代,需要用到len()求数组的长度,用range进行索引迭代。

  for i in len(index):在这句循环的时候,本来我的意思是i 递增到index 循环

  但是编译报错:TypeError: 'int' object is not iterable

Traceback (most recent call last):
  File "BalancePoint.py", line 15, in <module>
    for i in index:
TypeError: 'int' object is not iterable

原因:不能直接用int进行迭代,而必须加个range.

猜你喜欢

转载自blog.csdn.net/qq_41888799/article/details/82223362
今日推荐