我的函数在PYTHON中不起作用时,我不知道出了什么问题
我在下面创建了这个while循环,但它只打印一次,而它应该打印两次,请帮助:我的函数在PYTHON中不起作用时,我不知道出了什么问题,python,python-3.x,while-loop,Python,Python 3.x,While Loop,我在下面创建了这个while循环,但它只打印一次,而它应该打印两次,请帮助: count = 6 item = 3 while count - item > 0: print count count -= item print count if count == 0: print "hey" 开始时,计数是6,然后是3,但它永远不会达到0,这是什么意思?hey应该只打印一次 我想你的意思是 count = 6 item = 3 whil
count = 6
item = 3
while count - item > 0:
print count
count -= item
print count
if count == 0:
print "hey"
开始时,计数是6,然后是3,但它永远不会达到0,这是什么意思?hey应该只打印一次
我想你的意思是
count = 6
item = 3
while count > 0:
count -= item
print count - item
if count == 0:
print "hey"
在您的情况下,它正在检查计数项是否大于0。是否应该
让我们分析代码流。初始计数和项目设置为:
count = 6; item = 3
这意味着计数项是3,所以我们进入循环。在循环中,我们将计数更新为3,因此:
这意味着打印count-item是0,但count本身是3,因此if语句失败,我们根本不打印hey
现在,while循环检查count-item是否大于0(不再是这种情况),因此它停止
在此处打印hey两次的最小修复程序是:
将while循环中的检查设置为count-item>=0;和
在循环中打印hey,无论count的值是什么,例如:
计数仅为0一次…为什么您希望它打印两次?请尝试在上或在调试器中单步执行此操作,或仅通过添加更多打印信息(例如,打印计数、项目、计数-项目)来执行此操作,应该可以清楚地看到发生了什么。第一次,6-3>0是真的。第二次3-3>0为假。这就是它的全部。至于如何修复它,这取决于你对什么感到困惑。如果,比方说,您希望它工作,因为3-3>=0是真的,这是一个微不足道的打字错误;你只是做了>而不是>=。如果它是其他东西,则修复是其他东西。它不会打印“嘿,一点也不…”。。。
count = 3; item = 3
count = 6
item = 3
while count - item >= 0:
count -= item
print "hey"