所以我们的目标是把钱转换成你可能拥有的硬币
到目前为止,我的代码是:
def make_change(amount):
q_f = (amount // .25)
d_f = (amount - (q_f * .25)) // .10
n_f = (amount - ((q_f * .25) + (d_f * .10 ))) // .05
p_f = (amount - ((q_f * .25) + (d_f * .10) + (n_f * .05))) //.01
q = int(q_f)
d = int(d_f)
n = int(n_f)
p = int(p_f)
change = "" + str(q) + " quarter(s), " + str(d) + " dime(s), " + str(n) + " nickel(s) and
" + str(p) + " penny(ies) "
return (change)
问题是,假设您输入make_change(.19),由于舍入错误,便士是3而不是4,是否有其他方法编写代码以避免出现舍入错误
正如@barny提到的,尽量远离货币浮动。您可以将金额乘以100,然后使用减法处理硬币
请尝试以下代码:
输出
相关问题 更多 >
编程相关推荐