[英]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.