Python 学习笔记8 循环语句 while

时间:2023-03-08 20:25:01

While循环是哟中利用条件语句,不断的执行某一段代码块,达到批量操作输出等一系列的操作,直到条件不满足或者被强制退出为止。

其工作流程如下: (图片来源菜鸟教程:http://www.runoob.com/python/python-while-loop.html  )

Python 学习笔记8 循环语句 while

我们来看一个例子:

current_number = 10
while current_number <= 20:
print("Current number is : " + str(current_number))
current_number += 1 print("Final number: " + str(current_number)) '''
输出:
Current number is : 10
Current number is : 11
Current number is : 12
Current number is : 13
Current number is : 14
Current number is : 15
Current number is : 16
Current number is : 17
Current number is : 18
Current number is : 19
Current number is : 20
Final number: 21
'''

我们可以看到 变量current_number 的初始值为10, 在小于等于20的情况下,不断的被打印,被增长,直至增长到21的时候,跳出了循环。

我们也可以使用标志,比如True,False 等布尔值来进行循环:

flag = True
while flag:
number = int(input("Input a number less than 10:\n"))
if number < 10:
flag = True
else:
flag = False print("The game is end...") '''
输出:
Input a number less than 10:
2
Input a number less than 10:
11
The game is end...
Final number: 21
'''

使用 break 退出循环。在while循环中,你可以通过特定的条件语句,选择终止循环,不再继续运行余下的代码。

flag = True
while flag:
city = input("Input a city which you like: \n" + "Input 'Q' to quit...\n")
if city == 'Q':
break
else:
print("You like " + city) print("Thanks for your information.") '''
输出:
Input a city which you like:
Input 'Q' to quit...
ShangHai
You like ShangHai
Input a city which you like:
Input 'Q' to quit...
HangZhou
You like HangZhou
Input a city which you like:
Input 'Q' to quit...
Q
Thanks for your information.
'''

使用 continue 不再继续执行余下的代码块,返回到循环开头,继续下一轮循环。

number = 0
while number <= 10:
if number % 2 == 0:
print("The number is even: " + str(number))
number += 1
continue
print("Next...")
else:
number += 1 '''
输出:
The number is even: 0
The number is even: 2
The number is even: 4
The number is even: 6
The number is even: 8
The number is even: 10
'''

循环也可以和else 一起使用:

number = 0
while number <= 10:
if number % 2 == 0:
print("The number is even: " + str(number))
number += 1
continue
print("Next...")
else:
number += 1
else:
print("The number is equal or more than 10, stop loop.") '''
输出:
The number is even: 0
The number is even: 2
The number is even: 4
The number is even: 6
The number is even: 8
The number is even: 10
The number is equal or more than 10, stop loop.
'''

使用while 操作列表 List

peoples = ['Ralf', 'Clark', 'Leon']
while peoples:
people = peoples.pop()
print(people) '''
输出:
Leon
Clark
Ralf
'''
peoples = ['Ralf', 'Clark', 'Leon', 'Terry']
while 'Terry' in peoples:
peoples.remove('Terry')
print(peoples) '''
输出:
['Ralf', 'Clark', 'Leon']
'''

while循环语句可以解决程序中需要重复执行的操作。其循环执行的次数由循环条件确定,当循环条件满足时,重复执行某程序段,直到循环条件不成立为止。反复执行的程序段称为循环体,循环条件必须要在循环体中改变,否则可能会出现无限循环的结果