Я просканировал веб-сайт, но не ответил (зависит от решения). Я застрял с нижеследующим:Python: значение массива вызова для вычисления (int to float)
coin = [2.0 , 1.0 , 0.5, 0.1, 0.05, 0.02, 0.01]
kum=0.0
for i in coin :
while True :
if kum + coin[i] >= x :
# Intial (first loop) this should be equal to: if 0 + 2.0 > users input
# Second loop should be equal to if 2.0 + 1.0 > users input
break
else :
kum += coin[i]
Console говорит:
Traceback (most recent call last):
, line 13, in <module>
if kum + coin[i] >= x :
TypeError: list indices must be integers, not float
Мне было интересно, что я делаю неправильно. Элемент списка float? Добавление 0.0 и float не должно быть проблемой? Любая помощь приветствуется. `
извините, я забыл объяснить, что я хочу сделать: если кум + монета [I]> = х -> это должно добавить стоимость монеты [I] и кум и сравните его с x. Итак, исходный кум должен быть 0 и монета [0] = 2.0 (первая запись в массивной монете). это делается с каждым элементом монеты. Таким образом, эта строка бросает ошибку. –
Если вы удалите while, то цикл будет выполняться один раз для каждого значения i, и я буду содержать значения из монеты. Позвольте мне обновить. – mjs