Ben yaptık-Collatz Fonksiyonu:Recursive
def collatz(b):
l=[b]
if b==1:
return 1
elif b%2==0:
l.append(collatz(b/2))
else:
l.append(collatz(b*3+1))
return l
ama böyle çıktı:
>>>[21, [64, [32, [16, [8, [4, [2, 1]]]]]]]
nasıl böyle çıktı yapmak için (özyinelemeli fonksiyonu ile):
>>>Collatz: 21 64 32 16 8 4 2 1
Veya daha da kısa: '[b] + collatz (b/2 değilse b% 2 else b * 3 + 1)'. Btw, '' 'ile' print' kullanarak güzel bir hile. :-) –