理解python while循环
假设我有一个队列理解python while循环,python,list,python-2.7,Python,List,Python 2.7,假设我有一个队列 queue = [1] 当我运行while循环时 while queue: queue.pop(0) print("Hello World") 为什么此代码不终止并输出hello world?因为您已经在循环中,并且只有在再次执行print语句后才会检查队列。另外,.pop()删除最后一个值,因此如果列表中有1个值,只需使用.pop(),因为队列是非零列表。任何非零被认为是正确的。这就是为什么while循环将继续运行并且不会终止的原因 然而,上述是一个一般概
queue = [1]
当我运行while循环时
while queue:
queue.pop(0)
print("Hello World")
为什么此代码不终止并输出hello world?因为您已经在循环中,并且只有在再次执行print语句后才会检查
队列。另外,.pop()
删除最后一个值,因此如果列表中有1个值,只需使用.pop()
,因为队列
是非零列表。任何非零被认为是正确的。这就是为什么while
循环将继续运行并且不会终止的原因
然而,上述是一个一般概念。对于这个特定的问题,您的代码运行良好
queue = [1]
while queue:
queue.pop(0)
print("Hello World")
它只运行一次 在循环的每次迭代之前测试条件,而不是在循环体中的每个语句之后。因此,即使queue.pop(0)
清空列表,您仍然会执行下一条语句并打印消息
然后它返回到开始处,再次测试队列
。这一次,条件失败,循环终止。您能编辑您的问题并显示输出吗?这对我很有效。它应该只运行一次,因为<代码>队列< /> >只包含一个元素。我甚至没有想到初学者会认为这是循环条件如何工作的。接得好。他把它读成了英语。如果有人告诉你在太阳出来的时候执行一系列步骤,你会在太阳一落下就停下来。