两天后就在Python上进行了考试,这是相当基本的东西。这是练习中给出的代码
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
我本来可以期望它运行直到达到5(因此最后一行中给出的 1次2次(,但答案是"无限的时间"。
有人知道为什么吗?:) ir是因为此示例中没有elif
条件?
让我们按行分解代码。
首先你有
spam = 0
这将变量spam
等于值0
。它将始终保持该值,直到代码明确更改。
然后我们有一段时间循环
while spam < 5:
print('Hello, world.')
这实际上意味着虽然spam
的值小于5继续调用print('Hello World')
。但是,垃圾邮件等于0,因此它小于5是正确的,并且将永远是正确的。该循环也不会更改值,因此循环将无限期地运行。
最后,我们有
spam = spam + 1
这种势将 spam
升至1,但问题是该语句永远不会达到!IE。它是在无限期运行的循环之后放置的!
在python中,压痕很重要。尝试以下操作:
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
如果您不识别该行spam = spam + 1
Python会将其解释为从while
块中解释,则它不执行并且它停留在无尽的循环中。