我有以下python 2.7代码,它计算创建value
所需的硬币数量:
def find_change(value):
if value < 0:
return "Invalid value!"
else:
coins = 0
while value > 0:
num_quarters = value//.25
coins += num_quarters
value -= num_quarters*.25
num_dimes = value//.1
coins += num_dimes
value -= num_dimes*.1
num_nickels = value//.05
coins += num_nickels
value -= num_nickels*.05
num_pennies = value//.01
coins += num_pennies
value -= num_pennies*.01
return coins
if __name__ == "__main__":
print find_change(.65)
我想要一个while循环,以便一旦确定创建value
的硬币数量,程序就会停止。但是,在我的机器上运行此程序会导致无限循环,因为value
实际上从未达到零,而是卡在1.38777878078e-17
。
如何更正此代码以防止在此处发生无限循环?