【发布时间】:2014-01-12 11:30:31
【问题描述】:
我决定修改下面的 while 循环并在函数中使用它,这样循环就可以取任何值而不是 6。
i = 0
numbers = []
while i < 6:
numbers.append(i)
i += 1
我创建了以下脚本,以便可以使用变量(或更具体地说是参数)而不是 6。
def numbers(limit):
i = 0
numbers = []
while i < limit:
numbers.append(i)
i = i + 1
print numbers
user_limit = raw_input("Give me a limit ")
numbers(user_limit)
当我没有使用 raw_input() 并简单地从脚本中输入参数时,它工作正常,但现在当我运行它(在 Microsoft Powershell 中)时,光标在raw_input() 中的问题被问到后不断闪烁。然后我必须点击 CTRL + C 来中止它。可能在raw_input() 之后没有调用该函数。
现在它给出了如图所示的内存错误。
【问题讨论】:
-
输入后有没有按
enter? -
如果你升级到 Python 3.x 就会报错你应该考虑是否真的需要运行这么古老的 Python 版本。
-
您正在执行无限循环,请参阅下面的答案。你的 i
-
@Duncan 我正在关注一本书,现在它可以工作了
-
当然,您的
numbers函数复制了内置的range函数。
标签: while-loop python-2.x raw-input