我必須編寫一個遞歸函數,該函數在10個基數中獲取數字(n)並將其轉換爲給定數字基數(k)並返回一個列表,其組成部分是最終列表例如f(5, 3)
必須導致[1, 2]
其中基數3中的5是12,或者f(22, 3)
必須導致[2, 1, 1]
。將某個數字的基數更改爲給定數字
這是我試過的代碼:
def cb(n, k):
b = []
if n == 0:
b.append(0)
if n < k:
b.append(n)
if n == k:
b.append(10)
else:
a = n // k
b.append(n - ((n // k) * k))
if a < k:
b.append(a)
else:
cb(a, k)
return b
print(cb(22, 3))
其實我想了很多,但因爲我不是那麼好。在寫代碼我不能再往前走。感謝您對我的代碼的幫助和修改。
它工作嗎?你怎麼知道的?它的工作價值是什麼? –
nope我的代碼不起作用,實際上我無法做出另一種方式... –
else:cb(a,k)'做什麼? –