【发布时间】:2015-11-09 10:18:43
【问题描述】:
我有一个小的 Python (2.7.10) 脚本,您可以在下面看到它。
def numbers_calc(max_num, num_step):
"""Returns every number from 0 to max_num with num_step as step."""
n = 0
l = []
while n < max_num + 1:
l.append(n)
n += n * num_step
return l
n_l = []
n_l.append(numbers_calc(25, 1))
print "Here are the numbers."
print n_l
函数numbers_calc 旨在获取所有给定的参数,形成一个列表,并在到达max_num + 1 之前用数字填充它(以num_step 作为计算步骤)。然后脚本执行return,它是名为l 的本地列表。
但是,每次运行脚本时,都会遇到MemoryError。这是我运行脚本时 Python 返回的内容:
Traceback (most recent call last):
File "num.py", line 13, in <module>
n_l.append(numbers_calc(25, 1))
File "ex33.py", line 7, in numbers_calc
l.extend(i)
MemoryError
我尝试查找它,没有发现任何帮助。我希望你能帮助我!
【问题讨论】:
-
您提供的回溯实际上与您提供的代码不匹配。回溯引用了代码中不存在的
l.extend(i)行。 -
你的函数听起来很像内置的
range函数——你考虑过直接使用它吗?