赞
踩
原题目: 寻找平衡点。(程序很简单,容易细节出错)
(假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 )
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.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。