Loops part 2 - 05. Coins
Здравейте, всички! Стигам 90/100 на тази задача и ми гърми за time limit.
Ето моя код:
coins = 0
change = float(input())
changeToSt = change * 100
while changeToSt > 0:
if changeToSt >= 200:
changeToSt -= 200
coins += 1
elif 200 > changeToSt >= 100:
changeToSt -= 100
coins += 1
elif 100 > changeToSt >= 50:
changeToSt -= 50
coins += 1
elif 50 > changeToSt >= 20:
changeToSt -= 20
coins += 1
elif 20 > changeToSt >= 10:
changeToSt -= 10
coins += 1
elif 10 > changeToSt >= 5:
changeToSt -= 5
coins += 1
elif 5 > changeToSt >= 2:
changeToSt -= 2
coins += 1
elif 2 > changeToSt >= 1:
changeToSt -= 1
coins += 1
print(coins)
Благодаря. Може ли да ми обясниш защо това работи?
За да изрежеш някои отклонения, които се получават във float... виж това - https://stackoverflow.com/questions/7374836/float-deviation-in-python-list - не е нужно да го разбираш цялото. От нулевите тестове се получава нещо такова като въведеш 0.56... Пусни с дебъг и виж.