temp = 0
for i in range(1,len(L)-1):#忽略最后一个和第一个
if sum(L[:i]) == sum(L):
temp = 1
print(i)
if temp == 0:
print('None')
list_L= [,
,
,
,
[1, 2, 4, 34, 54, 27, 49, 14, 36, 25, 68, 13, 35, 78, 60, 25,
17, 5, 9, 23, 2, 1, 8, 1, 33, 26, 1, 9, 11, 5, 5, 253, 47, 65, 56, 10]]
for L in list_L:
judge(L)
def sum(list_name,list_lenth):
sum_1=0
sum_2=0
for a in range(list_lenth):
sum_1=sum_1+list_name
for b in range(a+1,list_lenth):
sum_2=sum_2+list_name
if sum_1 == sum_2 :
print('列表:{}\n 平衡点位序为:{} \n 平衡值为:{}'.format(list_name,a,list_name))
break
else:
sum_2=0
else:
print('Nnone')
list1=
list2=
list3=
list4=
list5=
sum(list1,len(list1))
sum(list2,len(list2))
sum(list3,len(list3))
sum(list4,len(list4))
sum(list5,len(list5))
def seek_balance(lis):
n = 0
if len(lis) % 2 == 1:
while n < len(lis):
if sum(lis[:n]) != sum(lis):
n += 1
else:
break
else:
print('error')
return (n,lis)
lis1 = eval(input('请输入一个数组:\n'))
(index1,result1) = seek_balance(lis1)
print('the index of the list: ', index1,'\n')
print('the Balance Point of the list: ',result1)
a = eval(input("请输入列表:"))
for i in range(1,len(a)-1):
if sum(a[:i]) == sum(a):print("平衡点为",i+1)
我这算不算偷懒了 from math import *
L = [,\
,\
,\
,\
]
for i in range(5):
x = 0
for j in range(1,len(L) - 1):
c1 = 0
for k in range(j):
c1 = c1 + L
if c1 == sum(L) - c1 - L:
print(L)
x = x + 1
if x == 0:
print(None) def Check_num(list1):
sum1 = 0
sum2 = 0
for i in range(1,len(list1)-1):
a = list1
b = list1
for x in a:
sum1 += x
for y in b:
sum2 += y
#其实这一段可以用这一句话代替if sum(list1[:i]) == sum(list1):
if sum1 == sum2:
return list1
sum1 = 0
sum2 = 0
print(Check_num())
print(Check_num())
print(Check_num())
print(Check_num())
print(Check_num()) def find(l):
sum_of_list = sum(l)
first_part = 0
for i in range(len(l)-1):
first_part += l
if first_part == (sum_of_list -l)/2:
return(i+1)
return "Not Find"
l1 =
l2 =
l3 =
l4 =
l5 =
for each in (l1, l2, l3, l4, l5):
try:
print(find(each),each)
except TypeError:
print(find(each))
6 4
Not Find
Not Find
Not Find
Not Find def main():
a =
for x in range(len(a)):
if sum(a[:x]) == sum(a):
print(a)
break
else:
print('None')
main() 一个列表可能有多个平衡点,比如:,加上这种情况。
def slice(list1):
balance = []
for i in range(2, len(list1)-1):
if sum(list1[:i]) == sum(list1):
balance.append(])
return balance if len(balance) else None
l1 = [, , ,
, [1, 2, 4, 34, 54, 27, 49, 14, 36, 25, 68, 13, 35,
78, 60, 25, 17, 5, 9, 23, 2, 1, 8, 1, 33, 26, 1, 9, 11, 5, 5, 253, 47, 65, 56, 10], ]
for i in l1:
result = slice(i)
if result is None:
print("该列表无平衡点!")
else:
print("该列表有%d个平衡点,平衡点为:" % len(result))
for s in result:
print("第%d个元素:%d。" % (s, s))
结果:
该列表有1个平衡点,平衡点为:
第6个元素:4。
该列表无平衡点!
该列表无平衡点!
该列表无平衡点!
该列表无平衡点!
该列表有3个平衡点,平衡点为:
第2个元素:3。
第3个元素:-3。
第4个元素:3。 哈哈 list1 =
count = len(list1)//2
print(sum(list1[:count]))
print(sum(list1))
if sum(list1[:count]) == sum(list1):
print('平衡點位置是:' , count)
else:
print('None')
計算結果都沒有平衡點,而且第5個數組是36個,無法計算 list1 =
list2 =
list3 =
list4 =
list5 = [1, 2, 4, 34, 54, 27, 49, 14, 36, 25, 68, 13, 35, 78, 60, 25, 17, 5, 9, 23, 2, 1, 8, 1, 33, 26, 1, 9, 11, 5, 5,
253, 47, 65, 56, 10]
def getBalancePoint(list) :
flag, flagCommon, flagPoint = 0, 0, 0
for i in list :
flagCommon += i
for j in range(len(list) - 1) :
flag += list
if flag == flagCommon - flag - list :
print('列表%s平衡点的下标为:%d\n平衡的的值为:%d\n' % (list, j + 1, list))
flagPoint += 1
if flagPoint == 0 :
print('该列表无平衡点')
getBalancePoint(list1)
getBalancePoint(list2)
getBalancePoint(list3)
getBalancePoint(list4)
getBalancePoint(list5)
def fun152(list1):
if not len(list1)%2:
return False
res = []
for i in range(1,len(list1)):
if sum(list1[:i]) == sum(list1):
res.append(list1)
if res:
return res
else:
return None def fun102(list1):
for i in range(1,len(list1)):
if sum(list1[:i])==sum(list1):
print(list1)
else:
continue
页:
1
[2]