【发布时间】:2021-12-20 04:10:45
【问题描述】:
代码:
import matplotlib.pyplot as plt
import numpy as np
poslist = []
numlist = []
i = 1
num = int(input('Number to check?'))
plt.title(str(num) + ': Collatz Graph')
plt.xlabel('Step')
plt.ylabel('Value')
print(num)
poslist.append(poslist, i)
numlist.append(numlist, num)
while True:
i = i + 1
if num % 2 == 0:
num = num // 2
print(num)
elif num == 1:
break
else:
num = num * 3
num = num + 1
print(num)
poslist.append(poslist, i)
numlist.append(numlist, num)
print('Number Array:', numlist)
print('Position Array', poslist)
plt.plot(*(poslist, numlist))
plt.show()
当我使用listname.append(listname, var) NumPy 函数时,它会跳过大部分变量。它只会将每 3 个或第 4 个变量添加到列表中。对于计步器阵列也是如此。即使添加 time.sleep(4) 函数,它似乎也一次计算 3 或 4 个数字 - 只记录第一个。
【问题讨论】:
-
更正您的代码并消除最后两个附加内容
-
我对它的运行感到惊讶。
alist.append(alist,1)引发 TypeError,参数太多。正确的语法是alist.append(1)。
标签: python-3.x numpy matplotlib timing