在简单的Python代码中避免无限循环

时间:2016-10-05 17:31:44

标签: python python-2.7 infinite-loop

我有以下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

如何更正此代码以防止在此处发生无限循环?

0 个答案:

没有答案