繁体   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