banknotes = [200,100,50,20,10,5,1,0.50,0.25,0.10,0.05,0.01]
amount = float(input("Enter an amount: "))
for i in range (0,len(banknotes)):
if banknotes[i] <= amount:
banknote = int(amount // banknotes[i])
amount = amount - banknote*(banknotes[i])
print(banknotes[i],"banknotes:",banknote)
例如,当我输入86.74时,程序的行为就像它的86.73。但不知何故,当我输入386.74或几乎任何其他数字时,它工作正常。我真的看不出问题出在哪里,我尝试在线python编译器来查看我的IDE是否有bug,同样的事情也发生了
正如评论所指出的,浮动比较并不总是准确的。如果使用整数乘以100(将所有内容视为美分并使用整数数学),这不再是一个问题:
相关问题 更多 >
编程相关推荐