a=int(input())
b=list(map(int,input().split(" ")))
sums=0
for i in range(a-1):
b=sorted(b)
c=b[0]
d=b[1]
print(b)
del b[1]
del b[0]
b.append(c+d)
sums=sums+c+d
print(sums)
代码再精简和改写一下,测试看看,写成这样:
a=int(input())
b=list(map(int,input().split(" ")))
sums=0
for i in range(a-1):
b=sorted(b)
m=sum(b[:2])
del b[0:2]
b.append(m)
sums+=m
print(sums)
如对你有帮助,请点击采纳按钮。
你的输出print(sums)每次for循环一次就输出一次,系统判定你输出了就是结果,第一次输出的结果肯定是错误的,只取最后一次结果即可,你讲print(sums)放在for循环外层即可.修改如下
a=int(input())
b=list(map(int,input().split(" ")))
sums=0
for i in range(a-1):
b=sorted(b)
c=b[0]
d=b[1]
del b[1]
del b[0]
b.append(c+d)
sums=sums+c+d
print(sums)
有帮助请点一下右上角的采纳,谢谢
测试系统自动输入的吗? 看看题目。
是不是你多输出了个 列表?