如何在带有range()的循环中使用变量?(Python)

如何在带有range()的循环中使用变量?(Python),python,variables,Python,Variables,我已经找了好一阵子了,似乎找不到答案。我想知道在使用range()函数时是否可以使用变量。例如,我无法让它工作: l=raw_input('Enter Length.') #Let's say I enter 9. l=9 for i in range (0,l): #Do something (like append to a list) Python告诉我在使用range函数时不能使用变量。有人能帮我吗?由于用户输入是一个字符串,您需要整数值来定义范围,因此可以使用int方法将输入

我已经找了好一阵子了,似乎找不到答案。我想知道在使用range()函数时是否可以使用变量。例如,我无法让它工作:

l=raw_input('Enter Length.')
#Let's say I enter 9.
l=9
for i in range (0,l):
    #Do something (like append to a list)

Python告诉我在使用range函数时不能使用变量。有人能帮我吗?

由于用户输入是一个字符串,您需要整数值来定义范围,因此可以使用int方法将输入类型转换为整数值


您要求用户输入一个数字

l = raw_input('Enter Length: ')
但问题是,输入的数字将显示为字符串,而不是int。因此必须将字符串2转换为int

l = int(raw_input('Enter Length: '))
如果您使用Python2.X,您还可以优化您的代码-您可以使用xrange而不是range。它工作得快得多

for i in xrange (l):
    #Do something (like append to a list)
在Python 3.X中,默认情况下实现了xrange

请尝试以下代码:

x = int(input("the number you want"))
for i in range(x):

请发布完整的回溯…如果变量来自
原始输入
,则它是一个字符串。将其转换为
int
@roippi,我同意,但我认为我们都考虑的代码是
int(原始输入('Enter Length'))
,因此确切的术语不是“Cast”,而是“将其转换为整数”,或者“从中构造整数”。
对于范围(l)
中的I,它更短,并且做同样的事情
x = int(input("the number you want"))
for i in range(x):