[英]Why am i getting index of the range error?
def oburparaust(liste, money):
moneycontrol = 0.0
coin=0
control = 0
while True:
if liste[control] > money:
control+=1
else:
moneycontrol+=liste[control]
coin+=1
if moneycontrol==money:
break
elif moneycontrol > money:
moneycontrol-=liste[control]
coin-=1
print(moneycontrol)
if control>len(liste)-1:
print(moneycontrol)
control=len(liste)-1
else:
control+=1
#print(coin)
oburparaust([1.0, 0.50, 0.25, 0.10, 0.05, 0.01], 5.38)
我想計算 5.38 的錢用了多少硬幣。 但是我得到了范圍錯誤的索引,我找不到為什么我要遍歷列表?
錯誤;
Traceback (most recent call last): File "xxxx", line 26, in oburparaust([1.0, 0.50, 0.25, 0.10, 0.05, 0.01], 5.38) File "xxxx", line 6, in oburparaust if liste[kontrol] > a: IndexError: list index out of range moneycontrol: 1.0 Coin: 1 moneycontrol: 2.0 Coin: 2 moneycontrol: 3.0 Coin: 3 moneycontrol: 4.0 Coin: 4 moneycontrol: 5.0 Coin: 5 moneycontrol: 5.0 Coin: 5 moneycontrol: 5.0 Coin: 5 moneycontrol: 5.25 Coin: 6 moneycontrol: 5.25 Coin: 6 moneycontrol: 5.35 Coin: 7 moneycontrol: 5.35 Coin: 7 moneycontrol: 5.35 Coin: 7 moneycontrol: 5.359999999999999 Coin: 8 moneycontrol: 5.369999999999999 Coin: 9 moneycontrol: 5.379999999999999 Coin: 10 moneycontrol: 5.379999999999999 Coin: 10
您有包含 6 個項目的列表“liste”,這意味着您的索引以 0 開頭並以 5 結尾,當您的變量控件的值為 6 時,索引將超出范圍。 如果它小於列表“liste”的長度,您將需要控制該變量“control”。 就像是:
def oburparaust(liste, money):
moneycontrol = 0.0
coin=0
control = 0
while control < len(liste):
. . .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.