SPOJ解决了#11,CANDY我用python

时间:2015-09-06 18:54:43

标签: python python-2.7

问题陈述链接在此处:http://www.spoj.com/problems/CANDY/

N=input('')
sum=0
z=0
A=N
while N!=-1:
   if 1<=N<=10000:
        N-=1
        x=input('')
        if x<1000:
            sum=x+sum
            z+=1
            if (sum/float(z))==int(sum/float(z)) and z==A:
                print (sum/z)
            elif z==A:
                print -1
                print ''
        else:
            sum=0
            N=input('')
            z=0
            A=N
            continue
   else:
       sum=0
       N=input('')
       z=0
       A=N
       continue
else:
    quit()

我继续使用(NZEC)获得运行时错误。我的所有样本输出都是正确的。

这个位应该找到平均值并打印出来。如果average不是整数,则打印-1。

if 1<=N<=10000:
        N-=1
        x=input('')
        if x<1000:
            sum=x+sum
            z+=1
            if (sum/float(z))==int(sum/float(z)) and z==A:
                print (sum/z)
            elif z==A:
                print -1
                print '' 

我正在使用print''来获得新的一行。这不是必要的,因为我没有得到WA,但仍然认为我会把它放在那里。我已经提交了它而没有“打印”',它给了我同样的错误。

我不知道我在这里做错了什么。

1 个答案:

答案 0 :(得分:0)

# your code goes here

while True:
    i = int(input())
    if i != -1:
        L1 = []
        for n in range(0, i):
            L1.append(int(input()))
        L = L1
 
        avg = sum(L)//len(L)
 
        if sum(L) == avg * len(L):
            cnt = 0 
            for t1 in range(0,len(L)):
                if avg -L[t1] < 0:
 
                    cnt += L[t1] -avg
 
            print(cnt)   
        else:
            print(-1)
    else:
        break