我有一个家庭作业,其中我必须计算输入的货币值所需的最小硬币数量。
我一直在努力使所涉及的逻辑陷入困境,但我不太了解。我从网站上复制了大部分内容,因此如果您能向我解释一下,我将不胜感激!
首先,我尝试了if,else语句的加载,并且我知道必须使用%(模数)。但这并没有真正起作用。
n1=float(input("Enter a monetary amount: "))
n1=n1*100
pound=0
fiftyp=0
twentyp=0
tenp=0
onep=0
pound=n1/100
n1%=100
fiftyp=n1/50
n1%=50
twentyp=n1/20
n1%=20
tenp=n1/10
n1%=10
onep=n1
print(int(pound), int(fiftyp), int(twentyp), int(tenp), int(onep))
此代码无效,可能是由于四舍五入的问题?例如,当输入2.30时,它输出2 0 1 0 9,即2磅20便士和9便士,当它应为2 0 1 1 0时,即2磅20便士,十便士。
再次,如果您还可以帮助我理解上述代码的大部分内容,我将非常感谢。预先谢谢你!