我試圖做一個程序,將返回正確的改變,在可能的最高面額如何創建函數,返回「在變革的最高面額」
即$ 73的返回1×50 $,1×$ 20 1×$ 2和$ 1 1
(我使用的100,$ 50,$ 20 $ 10 $ 5,$ 2,$ 1整數值)
我有一個長碼,工程...它是
hundred = x // 100
hundred_remainder = x % 100
fifty = hundred_remainder // 50
fifty_remainder = hundred_remainder % 50
twenty = fifty_remainder // 20
e TC ....然後
if hundred > 0:
print (str(hundred) + " x $100")
if fifty> 0:
print (str(fifty) + " x $50")
等....工作正常,但我知道必須有書面形式,有一個循環用更少的打字去解決它的功能的一種方式。例如X = $ 345,然後得到3 x $ 100,從總數中減去它,並用餘數更新X,然後重複每個面額的過程,直到完成。我只是有點不確定如何弄清楚,任何指導將不勝感激!
這是因爲0.01的浮點表示不準確而中斷。例如,您的版本因「11.76」而失敗。 – kanzure