什么是平衡点
平衡点:假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
比如列表numbers = [1,3,2,4,15,26,4,11,10]; 26前面的总和为25,26后面的总和也是25,26这个点就是平衡点;
要求:计算一个列表的平衡点,并返回
答案
方法:平衡点两边的数求和相等,也就是sum(lsit)减去这个数之后再除以2等于这个数某一边的数求和
用一个变量来累加这个数左边的那一部分序列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Filename : lean001.py # author by : www.py40.com def fore(list_): sumT = sum(list_) balance = 0 for num in numbers: if balance < (sumT-num)/2: balance += num else: break if balance == (sumT-num)/2: print("the balanced number is:{0}".format(num)) else: print("balanced number not found!") if __name__ == '__main__': numbers = [1,3,2,4,15,26,4,11,10] fore(numbers) |
未经允许不得转载:Python在线学习 » Python-求一个列表的平衡点