while循环
for循环针对集合中的每个元素都有一个代码块,而while循环不断地运行,直到不满足条件为止。
简单的例子,循环数字1-5
num = 1
while num <= 5:print(num)
num+= 1输出1
2
3
4
5
解释:在全局中设置变量num,初始值为1,在循环条件中判断num小于等于5,之后打印num的值,一次循环结束后,num的值+1,这样就不会造成死循环,知道num的值加到6时(这时已经进行了5次循环),循环条件不满足,循环结束。
特定条件退出while循环
while循环可以让程序在用户原意是不断运行,也可以随时退出
ages = "\nTell me something, and I will repeat it back to you:"ages+= "\nEnter 'exit' to end the program."age= ''
while age != 'exit':
age=input(ages)if age != 'exit':print(age)
输出
Tell me something,andI will repeat it back to you:
Enter'exit'to end the program.hello
hello
Tell me something,andI will repeat it back to you:
Enter'exit'to end the program.exit
Process finished with exit code 0
使用标志
能够使程序结束的因素有很多,比如在游戏中,玩家被敌人打死了、玩家高空下落摔死了等。这种情况下,我们就要使用标志,可以让标志为True时继续运行,在某个地方为False时停止运行。
active =Truewhileactive:
massage= input('Tell me something:')if massage == 'exit':
active=Falseelse:print(massage)
输出
Tell me something:123
123Tell me something: hello
hello
Tell me something: exit
Process finished with exit code 0
break语句结束循环
在任何python循环中,都可以使用break语句
whileTrue:
num= input('输入数字,数字为18时退出:')if num == '18':break
else:print('继续')
输出
输入数字,数字为18时退出:14继续
输入数字,数字为18时退出:20继续
输入数字,数字为18时退出:18Process finished with exit code 0
continue语句跳出循环
例如:打印1-10之间的奇数
number =0while number < 10:
number+= 1
if number % 2 ==0:continue
else:print(number)
输出1
3
5
7
9
可以看到,continue语句结束的不是整个循环,而是本次循环。在多层嵌套循环时,一般来说,break语句用来结束整个循环,continue语句用来跳出内层循环。