2011-08-11 80 views
0

對不起,我的初學者問題。我想構建循環使用下列建設十進制範圍步:十進制範圍in

max_value = 10 
my_range = [r * 0.01 for r in range(0, max_value) ] 
    for i in range (my_range): //Error 
     print (i) 

但有以下錯誤:

TypeError: 'list' object cannot be interpreted as an integer 
+0

請給出一個你想要迭代的序列的例子。 –

+0

2BasicWolf:我更新了代碼... – abcdef

回答

3

my_range已經是一個列表。只要做到:初始值(包含在迭代),終值(不包括)和步:因爲range()函數接受三個參數出現

for i in my_range: 
    print(i) 
+0

感謝您的回答... – abcdef

1

錯誤。從數學的角度來看,它是:[a1, a2, ... an)其中d = a2 - a1是這一步。

因此,my_range = [r * 0.01 for r in range(0, max_value) ]創建一個列表。當然,range()不能接受列表作爲參數。

在情況下,如果你需要[0.01,0.02,... 10]:

step = 0.01 
max_val = 10 
for i in range(0, max_val/step + 1): 
    print i * step 
0

嘗試

for i in my_range: 
    print(i) 

您已經創建my_range列表中,您可以遍歷for。您無需再次撥打range()

range()函數接受整數作爲參數,但運行range(my_range)傳入您的列表中,這會導致此錯誤。

相關問題