早教吧 育儿知识 作业答案 考试题库 百科 知识分享

PYTHON新手一枚用LOOPS写一个CODE用一个数N作为开始如果是偶数就除于2然后得到下一个数如果是奇数就乘以3加1然后得到的数除以2如此往复直到得到1为止例子collatzlist(6)=>[6,3,10,5,16,8,4,2,

题目详情
PYTHON 新手一枚
用LOOPS写一个CODE 用一个数N作为开始 如果是偶数就除于2 然后得到下一个数 如果是奇数就乘以3加1 然后得到的数除以2 如此往复 直到得到1为止
例子collatz_list(6) => [6,3,10,5,16,8,4,2,1]
▼优质解答
答案和解析
def collatz_list(n):
seq = []
while (n > 1):
seq.append(n)
if (n % 2 == 0):
n /= 2
else:
n = n * 3 + 1
seq.append(n)
return seq