我在下面创建了这个循环,但它只打印“嘿”一次应该打印两次,请帮助:
count = 6 item = 3 while count - item > 0: print count count -= item print count if count == 0: print "hey"
在开始时,计数是6,然后是3,但它永远不会达到0
你什么意思? "hey" 应该只打印一次 .
"hey"
我想你的意思是
count = 6 item = 3 while count > 0: count -= item print count - item if count == 0: print "hey"
在您的情况下,它正在检查 count-item 是否大于0 .
count-item
应该是?
让我们分析一下代码流 . 最初 count 和 item 设置为:
count
item
count = 6; item = 3
所以这意味着 count - item 是 3 所以我们进入循环 . 在循环中,我们将 count 更新为 3 ,因此:
count - item
3
count = 3; item = 3
所以这意味着你打印 count - item ,这是 0 ,但 count 本身是 3 ,所以 if 语句失败,我们根本不打印 "hey" .
0
if
现在 while 循环检查 count - item > 0 是否不再是这种情况,因此它会停止 .
while
count - item > 0
这里两次打印 "hey" 的最小修复方法是:
将while循环中的检查设置为 count - item >= 0 ;和
count - item >= 0
在循环中打印 "hey" ,无论 count 的值是什么,如:
count = 6 item = 3 while count - item >= 0: count -= item print "hey"
2 回答
你什么意思?
"hey"
应该只打印一次 .我想你的意思是
在您的情况下,它正在检查
count-item
是否大于0 .应该是?
让我们分析一下代码流 . 最初
count
和item
设置为:所以这意味着
count - item
是3
所以我们进入循环 . 在循环中,我们将count
更新为3
,因此:所以这意味着你打印
count - item
,这是0
,但count
本身是3
,所以if
语句失败,我们根本不打印"hey"
.现在
while
循环检查count - item > 0
是否不再是这种情况,因此它会停止 .这里两次打印
"hey"
的最小修复方法是:将while循环中的检查设置为
count - item >= 0
;和在循环中打印
"hey"
,无论count
的值是什么,如: