Python素数查找
您好,15不是质数,但它输出它是质数,错误在哪里,当使用for循环开始循环时,整数的第一个实例i将为i=2,因此15%2显然不等于0,因此它移动到else逻辑条件并打印素数,而不继续,这导致它打印素数,然后退出程序 以下是正确的程序,以防您想了解一种方法:Python素数查找,python,python-3.x,Python,Python 3.x,您好,15不是质数,但它输出它是质数,错误在哪里,当使用for循环开始循环时,整数的第一个实例i将为i=2,因此15%2显然不等于0,因此它移动到else逻辑条件并打印素数,而不继续,这导致它打印素数,然后退出程序 以下是正确的程序,以防您想了解一种方法: def isPrime(x): for i in range(2,x): if x%i==0: return 'not prime' break else:
def isPrime(x):
for i in range(2,x):
if x%i==0:
return 'not prime'
break
else:
return 'prime'
print(isPrime(15))
def isPrime(n):
#角落案例
如果(n
- “else”的位置错误,应该在for循环结束时放置它
您的Else
应退出循环,否则i
将仅等于2。
代码应该是这样的:
def isPrime(x):
if x in [2,3] :
return "prime"
for i in range(2,x):
if x%i==0:
print(i)
return 'not prime'
return "prime"
print(isPrime(15))
else
子句上的缩进错误,它应该与
的匹配。您也不需要中断
。
def isPrime(x):
if x in [2,3] :
return "prime"
for i in range(2,x):
if x%i==0:
print(i)
return 'not prime'
return "prime"
print(isPrime(15))
def isPrime(x):
for i in range(2,x):
if x%i==0:
return 'not prime'
break
else:
return 'prime'
print(isPrime(15))