簡體   English   中英

如何清除python代碼中的運行時(NZEC)錯誤?

[英]how to remove the runtime (NZEC) error in my python code?

我正在嘗試解決spoj.com中的主要生成器問題PRIME1,但遇到運行時錯誤(NZEC)。 問題需要使用多個測試用例,對於每個測試用例,需要在一行中為每個不同的測試用例輸入兩個數字,然后最終將輸出打印為每個數字范圍內的質數。錯誤是運行時錯誤時間:0.01內存:7736信號:-1

    # your code goes here

def is_prime(x):
    if x<2:
        return False
    if x==2:
        return True
    for y in range(2,x):
        if x%y==0:
            return False
    return True
t=int(raw_input())
mylist=[]

for i in range(0,t):
    a=raw_input()
    a=a.split(' ')
    mylist.append(int(a[0]))
    mylist.append(int(a[1]))
k=0
while k<len(mylist):
    c=mylist[k]
    k+=1
    d=mylist[k]
    k+=1
    for z in range(c,d+1):
        if is_prime(z):
            print z
    print

在python 2.7.9上運行此命令時,我發現在range(0, t)中使用t只有一個錯誤,但這里的t是字符串,因為我們的raw_input()方法讀取輸入並返回字符串。 這引起了Python的說法。 要刪除此內容,我們必須鍵入強制轉換得到的輸入。 像t = int(raw_input()) 這將導致t為整數。

有關raw_input()的信息,請遵循: https : //docs.python.org/2/library/functions.html#raw_input

要在python中讀取整數,可以在stackoverflow上關注帖子。

您的問題是raw_input()返回string,而不是整數。 但是您正在嘗試直接在range()函數中使用它- for i in range(0,t) range()函數僅接受整數作為參數,因此您需要在使用in range之前將輸入轉換為int

t=int(raw_input())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM