如何在函数内使用while循环?

时间:2014-01-12 11:30:31

标签: python while-loop raw-input

我决定修改以下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中的内存错误。 enter image description here

1 个答案:

答案 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]