我正在努力解決這個問題。基本上,我需要創建一個以開始、結束和范圍作為引數的遞回函式:
ex. recurs(6,10,range(4,17)) should return: [6,7,8,9,10]
我已經弄清楚了我的基本情況,但我正在努力解決其余的邏輯。我已經編碼了一些東西,但它沒有輸出任何東西。這是我的代碼,任何建議將不勝感激:
def recurs(start, end, nums):
if not nums:
return []
elif(nums[0] >= start) and (nums[0] <= end):
return nums[0] recurs(start, end, nums[1:])
呼叫recurs(4,9,range(1,10))沒有回傳任何東西。
uj5u.com熱心網友回復:
嘗試這個 :
def recurs(start, end, nums):
status = True
while status:
# print("nums is :", nums)
if not len(nums):
return []
elif(nums[0] >= start) and (nums[0] <= end):
ret_val = [nums[0]] recurs(start, end, nums[1:])
# print("Retval is :", ret_val)
return ret_val
else:
nums = nums[1:]
ret = recurs(6,10, list(range(4,17)))
print(ret)
輸出 :
[6, 7, 8, 9, 10]
您可以取消注釋列印行并查看流程。您會理解您嘗試過的代碼的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/503670.html
