Python平衡点问题
生活随笔
收集整理的這篇文章主要介紹了
Python平衡点问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
平衡點問題
假如一個數(shù)組中的元素,其前面的部分等于后面的部分,那么這個點的位序就是平衡點
比如一個列表 numbers = [1,3,5,7,8,25,4,20],25前面的總和為24,25后面的總和也是24,25這個點就是平衡點;
要求:返回任何一個平衡點。
解題思路
平衡點兩邊的數(shù)求和相等,也就是sum(lsit)減去這個數(shù)之后再除以2等于這個數(shù)某一邊的數(shù)求和,可以用一個變量來累加這個數(shù)左邊的那一部分序列。
Python代碼:
def Find_Blance(alist):sumlist = sum(alist)balance = 0for num in numbers:if balance < (sumlist - num) / 2:balance += numelse:breakif balance == (sumlist - num) / 2:print("平衡點是:{0}".format(num))else:print("平衡點不存在!")if __name__ == '__main__':numbers = [1, 3, 5, 7, 8, 25, 4, 20]Find_Blance(numbers)測試結(jié)果:
平衡點是:25再換一組數(shù)據(jù):
numbers = [2,1,8,4,10,30,55,25,25,5]
平衡點是:55
參考博客: https://www.cnblogs.com/Python666/articles/7454877.html
總結(jié)
以上是生活随笔為你收集整理的Python平衡点问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中类方法、类实例方法、静态方
- 下一篇: python实现栈,实现push(),p