對不起,我的初學者問題。我想構建循環使用下列建設十進制範圍步:十進制範圍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
對不起,我的初學者問題。我想構建循環使用下列建設十進制範圍步:十進制範圍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
你my_range
已經是一個列表。只要做到:初始值(包含在迭代),終值(不包括)和步:因爲range()
函數接受三個參數出現
for i in my_range:
print(i)
感謝您的回答... – abcdef
錯誤。從數學的角度來看,它是:[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
嘗試
for i in my_range:
print(i)
您已經創建my_range
列表中,您可以遍歷for
。您無需再次撥打range()
。
range()
函數接受整數作爲參數,但運行range(my_range)
傳入您的列表中,這會導致此錯誤。
請給出一個你想要迭代的序列的例子。 –
2BasicWolf:我更新了代碼... – abcdef