我的想法是对任意范围内以1、3、7和9结尾的数字运行3n+1进程(Collatz conjecture),并告诉代码将每个操作的长度发送到一个列表,这样我就可以分别在该列表上运行函数。你知道吗
到目前为止,我所做的是将单位数字1、3、7和9指定为:if n % 10 == 1
;if n % 10 == 3
…等等,我认为我的计划需要某种形式的嵌套for循环;我所做的列表附加就是在每次输入temp = []
和leng = []
之前找到一种方法让代码自动temp.clear()
。我假设有不同的方法可以做到这一点,我愿意接受任何想法。你知道吗
leng = []
temp = []
def col(n):
while n != 1:
print(n)
temp.append(n)
if n % 2 == 0:
n = n // 2
else:
n = n * 3 + 1
temp.append(n)
print(n)
不清楚你具体在问什么,想知道什么,所以这只是猜测。因为您只想知道序列的长度,所以不需要实际保存每个序列中的数字,这意味着只创建了一个列表。你知道吗
输出:
相关问题 更多 >
编程相关推荐