我已经搜索了相当一段时间,但似乎找不到这个问题的答案。我想知道在使用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=int(raw_input('Enter Length: ')) # python 3: int(input('Enter Length: '))
>> for i in range (0,l):
>> #Do something (like append to a list)
for i in range(l)
更短,但实现相同的功能。 - Jean-François Fabre请要求用户输入一个数字
l = raw_input('Enter Length: ')
但问题在于输入的数字将被表示为字符串而不是整数。因此,您需要将字符串转换为整数。
l = int(raw_input('Enter Length: '))
如果你使用Python 2.X,你也可以优化你的代码 - 而不是使用range,你可以使用xrange。它的速度更快。
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):
raw_input
,它就是一个字符串。将其转换为int
类型。 - roippiint(raw_input('Enter Length.'))
,因此确切的术语不是“Cast”,而是“将其转换为整数”或“构造一个整数”。 - Ron Klein