繁体   English   中英

为什么我的Python代码返回NZEC错误

[英]Why does my Python Code return an NZEC error

我正在尝试解决Sphere Online Judge(SPOJ)上的问题,该问题要求我打印所有1到n之间的整数,这些整数可以被x而不是y整除,当我在Python IDE上进行测试时,我的代码是正确的,但是当我尝试在SPOJ上输入它,但出现运行时错误(NZEC),什么是NZEC,为什么会得到它? 这是我的代码:

test_cases = raw_input()
input = []
list = []
for z in xrange(int(test_cases)):
    input = raw_input()
    n,x,y = input.split(' ')
    for z in xrange(int(n)):
        if z%int(x) == 0 and z%int(y) != 0:
              list.append(z)
    answer1 = str(list).strip('[]')
    answer2 = answer1.replace(',', '')
    print answer2

您是否在谈论这个问题?

我在您的代码中看到了一些问题:

  1. 之所以要使用NZEC,是因为输入中可能有一个空行没有被考虑。 (请参见下面的微不足道的修改以解决此问题)

  2. 另外,您的代码有一个错误,因为z从0到n-1开始,而z应该> 1,所以z应该在xrange(2,int(n))中。

  3. 您不需要剥离,然后用空格替换逗号。 您可以一次完成操作(请参见下文)

我对您的代码做了一些修改,它通过了测试用例。

def get_line():
    while True:
        line = raw_input().rstrip()
        if not line:
            pass
        else:
            return line

test_cases = get_line()
for _ in xrange(int(test_cases)):
    input = get_line()
    n,x,y = [int(z) for z in input.split(' ')]
    list = []
    for z in xrange(2,n):
        if z%x == 0 and z%y != 0:
              list.append(z)
    answer1 = ' '.join(map(str,list))
    print answer1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM