2 回答

TA贡献2041条经验 获得超4个赞
您可以这样做: round((float(input("请输入您欠的金额 $:"))))
问题在于,当您转换为浮点数时,字符串到浮点数的转换不会 100% 准确。例如,如果您输入 1.17 并将其转换为浮点数,它将类似于 1.1699999999999999。

TA贡献1818条经验 获得超8个赞
我设法通过将输入乘以 100 并将其转换为整数来修复它。
userInput = (float(input("Enter the amount you are owed in $:")))
mTotal = int(userInput*100)
numCoins = 0
while (mTotal != 0):
if ((mTotal - 25) >= 0):
mTotal-=25
numCoins += 1
elif ((mTotal - 10)>= 0):
mTotal-=10
numCoins += 1
elif ((mTotal - 5)>= 0):
mTotal-=5
numCoins += 1
elif ((mTotal - 0.01)>= 0):
mTotal-=1
numCoins += 1
print("The minimum number of coins the cashier can return is:", numCoins)
添加回答
举报