[英]print row prime number in recursion def python
嗨,你们能帮我在 python 中制作数字列表素数,但没有 for 循环,或者在内部或外部仅使用递归 function
这是带有 def 递归的 mycode,你们能帮我改成在 def 递归中打印 2-limit 吗?
def is_prime(n, div=2):
if div> n/2.0: return True
if n% div == 0:
return False
else:
div+=1
return is_prime(n,div)
但这需要外部 def 打印所有数字 2-100
#The program:
for i in range(2,100,1):
if is_prime(i):
print(i)
如何更改外部def中的for,只需
limit = int(input("input limit prime = )
print(is_prime(limit,2)
我的意思是,如何在没有循环的情况下在 def 中使用递归打印 2-limit,而在 def 之外。 我很困惑如何从中制作递归 function 谢谢
如果您的目标是在没有外部循环的情况下对您的 function 执行 recusion,这是一个解决方案......
def is_prime(n, max_n, div=2):
if n> max_n: return False
if div > n / 2.0:
print(n)
return is_prime(n+1,max_n)
if n % div == 0:
return is_prime(n + 1, max_n)
else:
return is_prime(n , max_n,div+1)# forgot to increment div and not increment n so we can runit through the function again
is_prime(2, 100)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.