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

kar*_*t18 1 python raw-input while-loop

我决定修改以下while循环并在函数内使用它,以便循环可以取任何值而不是6.

i = 0
numbers = []
while i < 6:
    numbers.append(i)
    i += 1
Run Code Online (Sandbox Code Playgroud)

我创建了以下脚本,以便我可以使用变量(或更具体的参数)而不是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)
Run Code Online (Sandbox Code Playgroud)

当我没有使用它raw_input()并简单地从脚本中放入参数它工作正常但现在当我运行它(在Microsoft Powershell中)时,在询问问题后光标会不断闪烁raw_input().然后我必须按CTRL+ C才能中止它.也许这个功能不会被调用raw_input().

现在它给出了像pic中的内存错误. 在此输入图像描述

Kob*_*i K 10

您需要转换user_limitInt:

raw_input()返回值是str,语句使用的是iint

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)
Run Code Online (Sandbox Code Playgroud)

输出:

Give me a limit 8
[0, 1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)