【发布时间】:2014-12-04 14:37:18
【问题描述】:
说明是
创建一个程序,让他输入一定数量的零钱, 然后打印有多少 25 美分硬币、硬币、镍币和便士 需要弥补所需的金额。例如,如果他输入 1.47, 程序会告诉他需要 5 个硬币,2 个硬币,0 个镍币, 和 2 便士。
我真的不知道该怎么做,但我试了一下。我真的不确定该怎么做。
print "Change Calclator"
quarter = .25
dime = .10
nickel = .5
penny = .1
moneygiven = raw_input("Enter how much money given: ")
citem = raw_input("How much did the item cost?: ")
moneygiven = float(moneygiven)
citem = float(citem)
moneyback = moneygiven - citem
qmb = moneyback % quarter
partialtotal = moneyback - qmb * quarter
dmb = partialtotal / dime
dpartialtotal = partialtotal - dmb * dime
nmb = dpartialtotal / nickel
npartialtotal = dpartialtotal - nmb * nickel
pmb = npartialtotal / penny
ppartialtotal = npartialtotal - pmb * penny
print "You need %s quarters, %s dimes, %s nickels, %s pennies." % (qmb, dmb, nmb, pmb)
当以 20 in moneygiven 和 19.45 in citem 运行时,它给出了这个
Change Calclator
Enter how much money given: 20
How much did the item cost?: 19.45
You need 2.2 quarters, 0.0 dimes, 0.0 nickels, 0.0 pennies.
【问题讨论】:
-
如果您使用
int便士而不是float美元工作,您会发现这更容易 - 浮点数可能会让您感到惊讶(例如,((20 - 19.45) % 0.25)给出了0.050000000000000044,我得到You need 0.05 quarters, 5.375 dimes, 0.0 nickels, 0.0 pennies.整体)。 -
我认为您的代码与您的输出不匹配。如果我这样做
qmb = moneyback % quarter我得到 .05 而不是 2.2
标签: python calculator