我已经在下面创建了while循环,但是当它应该打印两次时,它只会打印一次“嘿”,请帮助:
count = 6
item = 3
while count - item > 0:
print count
count -= item
print count
if count == 0:
print "hey"
开始时,计数为6,然后为3,但从未变为0
答案 0 :(得分:0)
什么意思? "hey"
应该只打印一次。
我认为您的意思是
count = 6
item = 3
while count > 0:
count -= item
print count - item
if count == 0:
print "hey"
根据您的情况,它正在检查count-item
是否大于0。
答案 1 :(得分:0)
应该吗?
让我们分析代码流。最初count
和item
设置为:
count = 6; item = 3
,这意味着count - item
是3
,因此我们进入循环。在循环中,我们将count
更新为3
,所以:
count = 3; item = 3
因此,这意味着您打印count - item
,即0
,但count
本身是3
,因此if
语句失败,我们执行< em> not 完全打印"hey"
。
现在while
循环检查是否不再存在count - item > 0
,因此它停止了。
在这里"hey"
两次打印的最小修复方法是:
count - item >= 0
;和"hey"
,无论count
的值是什么,例如:
count = 6
item = 3
while count - item >= 0:
count -= item
print "hey"