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)
添加回答
舉報