我决定修改以下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中)时,在{{1}中的问题之后光标会不断闪烁被问到。然后我必须按 CTRL + C 中止它。也许在raw_input()
之后没有调用该函数。
现在它给出了像pic中的内存错误。
答案 0 :(得分:10)
您需要将user_limit
转换为Int
:
raw_input()
返回值为str
且语句使用的是int
def numbers(limit):
i = 0
numbers = []
while i < limit:
numbers.append(i)
i = i + 1
print numbers
user_limit = int(raw_input("Give me a limit "))
numbers(user_limit)
输出:
Give me a limit 8
[0, 1, 2, 3, 4, 5, 6, 7]