我正在开发一个模拟自动售货机的程序。对于我的代码的这一部分创建了一个无限循环,我不太明白为什么。我通过 python 导师运行它以查看我的问题出在哪里,似乎当我的变量 price_remaining = 5 时,它有时不会通过 elif 语句。我不完全确定什么会以某种方式触发它。我将把我输入的内容复制并粘贴到python导师中,希望有人可以据此解释。编辑:我刚刚通过python导师检查了一些,它似乎只发生在我有一个以5结尾的price_remaining值时。例如2.05、0.05、1.15等。
price_remaining = 2.55
price_remaining = price_remaining * 100
q_stock = 25
q_returned = -0
d_stock = 25
d_returned = 0
n_stock = 25
n_returned = 0
while price_remaining > 0:
if price_remaining >=25 and q_stock > 0:
price_remaining = price_remaining - 25
q_stock = q_stock - 1
q_returned = q_returned + 1
elif price_remaining >=10 and d_stock > 0:
price_remaining = price_remaining - 10
d_stock = d_stock - 1
d_returned = d_returned + 1
elif price_remaining >=5 and n_stock > 0:
price_remaining = price_remaining -5
n_stock = n_stock - 1
n_returned = n_returned + 1
print( q_returned)
print( d_returned)
print( n_returned
)