def Find_Blance(alist):
sumlist = sum(alist)
balance = 0
for num in numbers:
if balance < (sumlist - num) / 2:
balance += num
else:
break
if 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)
#平衡点是:25
def Find_Blance(alist):
sumlist = sum(alist)
balance = 0
for num in numbers:
if balance < (sumlist - num) / 2:
balance += num
else:
break
if balance == (sumlist - num) / 2:
print("平衡点是:{0}".format(num))
else:
print("平衡点不存在!")
if __name__ == '__main__':
numbers = [1,3,5,7,9,11,13,20,29]
Find_Blance(numbers)
#平衡点不存在!
n = filter(lambda i:sum(data[:i]) == sum(data[i+1:]),range(1,len(data)-1))
data = [1, 3, 5, 7, 8, 25, 4, 20]
print(list(n))
#[5]
a =[data[i]for i in range(1,len(data)-1) if sum(data[:i] )== sum(data[i+1:])]
data = [1, 3, 5, 7, 8, 25, 4, 20]
a
#[25]
def balance_point(thy_list):
num = len(thy_list)
if num >= 3:
for i in range(num):
if i == 0:
pass
else:
list1 = thy_list[:i] # 将传入的列表切片,将一个列表分成2个列表
list2 = thy_list[i+1:]
sum1 = sum(list1) # 对切片后的列表分别求和
sum2 = sum(list2)
if sum1 == sum2:
return '平衡点:%d,其值为%d' % (i, thy_list[i])
return '无平衡点'
else:
return '列表长度不够!'
if __name__ == '__main__':
print(balance_point([1, 3, 5, 7, 8, 25, 4, 20]))
print(balance_point([1, 3, 5, 7, 8, 25, 4, 26]))
print(balance_point([1, 3, 5, 7, 8, 7, 5, 4]))
print(balance_point([1]))
print(balance_point([100, 200, 100]))
# 结果:
# 平衡点:5,其值为25
# 无平衡点
# 平衡点:4,其值为8
# 列表长度不够!
# 平衡点:1,其值为200
a =[data[i]for i in range(1,len(data)-1) if sum(data[:i] )== sum(data[i+1:])]
data = [2,1,8,4,10,30,55,25,25,5]
a
#[55]
n = filter(lambda i:sum(data[:i]) == sum(data[i+1:]),range(1,len(data)-1))
data = [2,1,8,4,10,30,55,25,25,5]
print(list(n))
[6]
#这个代码有点问题
numbers = [1, 3, 5, 7, 8, 25, 4, 20]
sum1 = 0;
for num in numbers:
sum1 += num
for index in range(len(numbers)):
former = 0
after = 0
i = 0
for i in range(index):
former += numbers[i]
after = sum1 - former - numbers[index]
if(former == after):
print("The balance point is:",numbers[index])
#The balance point is: 25
numbers = [1,3,5,7,9,11,13,20,29]
sum1 = 0;
for num in numbers:
sum1 += num
for index in range(len(numbers)):
former = 0
after = 0
i = 0
for i in range(index):
former += numbers[i]
after = sum1 - former - numbers[index]
if(former == after):
print("The balance point is:",numbers[index])
#The balance point is: 7
https://blog.csdn.net/Darkman_EX/article/details/81004104?ops_request_misc=%7B%22request%5Fid%22%3A%22158245622119195239848801%22%2C%22scm%22%3A%2220140713.130056874…%22%7D&request_id=158245622119195239848801&biz_id=0&utm_source=distribute.pc_search_result.none-task