在pycharm中运行正确的程序,在蓝桥杯的测试系统中会显示运行错误


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)

img

代码再精简和改写一下,测试看看,写成这样:

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)

有帮助请点一下右上角的采纳,谢谢

测试系统自动输入的吗? 看看题目。

是不是你多输出了个 列表?

img

img