2013-07-18 66 views
0

我有寫代碼:如下Python的範圍與變量如下

start = 96 
range = 5 
for d in range(start, start+range): 
    print d 

,但我得到異常:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'int' object is not callable 

不Python中不支持範圍函數的多個變量?

+0

'range = 5',在這一行上使用不同的變量名稱 – Dan

+2

爲什麼這會變得downvoted?這是一個容易犯的錯誤和谷歌的一個困難的錯誤... – Dan

回答

4

你被覆蓋range

>>> range(5) 
[0, 1, 2, 3, 4] 
>>> range = 2 
>>> range(2) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'int' object is not callable 

陰影(覆蓋)內置函數並不是一個好習慣。

2

答案是在這條線

range = 5 

您分配了內置的功能因而其一樣做

a = 5 
a() 

這是不允許的。嘗試

range_ = 5 
range(start, start+range_) 
1

range可以像任何標識符,表示在同一時間一個數字或一個函數(或其他物品),但不是二者。使用另一個變量名稱