虽然循环Python-没有错误为什么?

时间:2015-07-16 15:57:48

标签: python while-loop

为什么以下代码不会抛出错误?

while 7:
    print ("Hi")

相反,它会永远打印“嗨”。

3 个答案:

答案 0 :(得分:4)

因为表达式7在布尔上下文中被认为是真的(如while测试)。

在布尔上下文中,所有非零数字都为真。非空字符串,非空列表,元组或字典也是如此。

基本上,任何非空的,不是NoneFalse而不是数字零的东西都被认为是真值。请参阅Truth Value Testing

答案 1 :(得分:2)

任何非零的东西都被解释为True,所以while(7)与while(1)同义,这是一个无限循环

答案 2 :(得分:0)

虽然循环只采用TrueFalse条件,例如:

While 1:
    print("hi")

因为1被认为是True,所以循环变为infinte

如果您希望该程序print("hi") 7次,则需要for循环:

他们的工作方式如下:

for i in range(7):
    print("hi")

i仅仅是一个变量,而range(7)只是您想要循环的次数