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
您的列表“liste”包含6项,这意味着您的索引以0开始,以5结束,当变量控件的值为6时,索引将超出范围。如果变量“control”小于列表“liste”的长度,则需要控制该变量。比如:
相关问题 更多 >
编程相关推荐