python编程(函数,列表,循环)[复制]

cedebl8k  于 2023-03-11  发布在  Python
关注(0)|答案(1)|浏览(99)

此问题在此处已有答案

(29个答案)
15小时前关门了。
我得到错误在这个代码检查是否一个数字是质数或没有

m=int(input("Enter an integer: "))
factorlist=[]
x=[]
def primelist(m):
    for i in range(1,m+1):
        if m%i ==0:
            x=factorlist.append(i)
        return(x)
def isprime(m):
   return(primelist(m)==[1,m])
print(isprime(m))

我尝试执行代码来检查一个数字是否为质数,我尝试了解代码中的错误是什么

wydwbb8l

wydwbb8l1#

您在for循环中错误地使用了'return',并且您不需要x。一旦for循环执行,并且在将正确的结果附加到factorlist之后,您应该返回整个列表,如下所示,而不是每次在for循环中:

m=int(input("Enter an integer: "))

def primelist(m):
    factorlist=[]
    for i in range(1,m+1):
        if m%i ==0:
            factorlist.append(i)
    return factorlist
def isprime(m):
    return(primelist(m)==[1,m])
print(isprime(m))

相关问题