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