【发布时间】:2021-04-20 02:30:53
【问题描述】:
这是一个简单的程序,我在其中得到了作为欠款的输入,我必须返回硬币的总数。我的程序运行正常,直到归结为数便士。有人可以看到,为什么它会给出负输出,即使我用 if 语句告诉程序在它达到 0 后不要运行。
import sys
import cs50
val = cs50.get_float(("Change owed: "))
count = 0
newVal = val
while newVal > .25:
newVal = round(newVal - 0.25, 2)
print(newVal)
count +=1
if newVal == 0.25:
newVal = round(newVal - 0.25, 2)
print(newVal)
count +=1
elif newVal < 0.25:
newVal = round(newVal - 0.10, 2)
print(newVal)
count +=1
if newVal < 0.10:
newVal = round(newVal - 0.05, 2)
print(newVal)
count +=1
if newVal < 0.05:
newVal = round(newVal - 0.01, 2)
print(newVal)
count +=1
if newVal < 0:
break
print(count)
【问题讨论】:
-
也许 "
标签: python if-statement while-loop cs50