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