簡體   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