URI Online Judge 1021 - PullRequest
       3

URI Online Judge 1021

0 голосов
/ 25 марта 2020

У меня проблемы с этим испытанием, оно продолжает давать мне 100% ошибок. Вот мой код:

N = float(input())

if 0 < N < 1000000:
    print('NOTAS:')
    for i in [100, 50, 20, 10, 5, 2]:
        print('%d nota(s) de R$ %d.00' %((N//i),i))
        N %= i

    print('MOEDAS:')
    for i in [1, 0.5, 0.25, 0.10, 0.05, 0.01]:
        print('%d moeda(s) de R$ %.3f' %((N//i),i))
        N %= i

Вот что спрашивают:

Считайте значение с плавающей запятой с двумя десятичными знаками. Это представляет денежную стоимость. После этого рассчитайте наименьшее возможное количество банкнот и монет, на которые можно разложить значение. Рассматриваются банкноты 100, 50, 20, 10, 5, 2. Возможные монеты 1, 0,50, 0,25, 0,10, 0,05 и 0,01. Распечатайте сообщение «NOTAS:», затем список заметок и сообщение «MOEDAS:», а затем список монет.

Ввод

Входной файл содержит значение с плавающей точкой N (0 ≤ N ≤ 1000000.00).

Вывод

Вывести минимальное количество банкнот и монет, необходимое для изменения начального значения, в качестве приведенный пример

Итак, большинство тестов, которые я провел, дали мне правильные ответы, но когда я тестирую, например, 0.06, это не работает. Вот результат для ввода 0,06:

0,06

NOTAS:

0 нот (-ов) от R $ ​​100,00

0 нот ( s) R $ 50,00

0 нот (-ов) de R $ 20,00

0 нот (-ов) R $ 10,00

0 нот (-ов) R $ 5,00

0 нот (ов) 2,00

MOEDAS:

0 моед (ов): 1,00

0 moeda (s) de R $ 0.50

0 moeda (s) de R $ 0.25

0 moeda (s) de R $ 0.10

1 moeda (s) de R $ 0.05

0 moeda (s) de R $ 0.01

Результат должен быть "1 moeda de R $ 0.05" и "1 moeda de R $ 0.01". Любые мысли о том, почему это происходит?

OBS: Я думаю, что проблема в последней строке, в команде 'N% = i', что означает N = N% i

...