def balance_point(thy_list):
num = len(thy_list)
if num >= 3:
for i in range(num):
if i == 0:#不能从0 [: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]))
python笔试题-平衡点问题: 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点。
最新推荐文章于 2019-04-20 12:38:00 发布