Python - while 循环

while 循环简介

for 循环用于针对集合中的每个元素都一个代码块,而while循环不断的运行,直到指定的条件不满足为止。

使用 while 循环

1
2
3
4
5
6
7
8
9
10
11
number = 1  # 指定从1开始数
while number <= 5: # 只要number小于或等于5 就接着运行这个循环
print(number) # 打印循环的值
number += 1 # 再给number值 + 1
# 由此类推, 一旦number大于5,循环就停止,整个程序也将到此结束
# 输出结果如下:
1
2
3
4
5

在循环中使用 break

1
2
3
4
5
6
7
while True:   # while True 打头的循环 将不断运行, 知道遇到break 语句
city = input('输入您再的城市:') # 再输入中,如果输入1 就执行到 break 语句就会退出

if city == 1:
break
else:
print('我喜欢去{}'.format(city))

注意:在任何Python循环中都可使用break 语句。例如,可使用break 语句来退出遍历列表或字典的for 循环。

在循环中使用 continue

要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue 语句,它不像break 语句那样不再执行余下的代码并退出整个循环。

1
2
3
4
5
6
7
8
9
10
11
12
number = 0  # 先将number 设置为0 ,
while number < 10: # 由于小于10 python 进行while循环
number += 1 # 进入循环后以步长1的方式往上数
if number % 2 == 0: # if 语句检查 number 与 2的求模运算结果, 如果结果为0就意味的number可以被2整出, 就执行continue 语句, 让Python忽略余下代码,并返回到循环的开头
continue
print(number)
# 输出结果:
1
3
5
7
9

continue 语句是一个删除的效果:

1
2
3
4
5
6
7
var = 10
while var > 0:
var = var - 1
if var == 5 or var == 8:
continue
print('当前值:', var)
print('Bye')
  • continue 语句用来告诉Python 跳过当前循环的剩余语句, 然后继续进行下一轮循环continue 语句用在 while和 for 循环中
  • continue 语句跳出本次循环, 而break跳出整个循环

避免无限循环

每个 while 循环都必须有停止运行的途径,能够让循环条件为 False 或 break 语句结束无限循环

1
2
3
4
5
6
7
8
9
10
x = 1
while x <= 5:
print(x)
x += 1
# 输出结果如下:
1
2
3
4
5

使用 while 循环来处理列表和字典

  • for 循环是一种遍历列表的有效方式,但在for 循环中不应修改列表,否则将导致Python难以跟踪其中的元素;
  • 要在遍历列表的同时对其进行修改,可使用while 循环;
  • 通过将while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。

在列表之间移动元素

1
2
3
4
5
6
7
8
9
10
11
12
13
my_list = ['alice', 'brian', 'candace']
new_list = []
while my_list:
cur_list = my_list.pop() # 使用pop()方法的时候, 从my_list列表中, 从末尾的元素删除,pop()删除的值可以赋值给变量cur_list, 依次赋值给cur_list

new_list.append(cur_list) # 将变量添加到new_list中

for item in new_list: # 循环new_list 里面就会有跟my_list 相同的元素
print(item)
# 输出结果如下:
candace
brian
alice

删除包含特定值的所有列表元素

1
2
3
4
my_list = ['cat', 'dog', 'cat', 'goldfish', 'rabbit', 'cat']  # 列表中多个包含'cat'
while 'cat' in my_list: # 循环
my_list.remove('cat')
print(my_list)