Я очень плохо знаком с Python и пытаюсь решить задачу. Задача такова: «Производители торговых автоматов хотели, чтобы их автоматы возвращали как можно меньше монет. Напишите программу, которая принимает сумму, которую необходимо вернуть, и рассчитайте, сколько монет она может получить». Монеты: 2,00, 1,00, 0,50, 0,20, 0,10, 0,05, 0,02, 0,03.
Это мой код:
change = float(input())
result = 0
while change > 0:
while change >= 2:
change -= 2
result += 1
while change >= 1:
change -= 1
result += 1
while change >= 0.5:
change -= 0.5
result += 1
while change >= 0.2:
change -= 0.2
result += 1
while change >= 0.1:
change -= 0.1
result += 1
while change >= 0.05:
change -= 0.05
result += 1
while change >= 0.02:
change -= 0.02
result += 1
while change >= 0.01:
change -= 0.01
result += 1
print(result)
Мой ввод равен 2,20, а результат печати равен 0, когда должно быть 2. Похоже, это не l oop вообще. Может кто-нибудь объяснить мне, почему это не так, я не знаю, что я делаю неправильно.