while 循环的语法格式如下:
[init_statements]
while test_expression :
body_statements
[iteration_statements]
while循环每次执行循环体之前,必须先对test_expression循环条件求值,如果循环条件为真,则运行循环体部分。从上面的语法格式来看,迭代语句iteration_statements总是在循环体的最后,所以while循环只有在循环体能够执行成功的时候才会执行迭代语句iteration_statements。
从这个意义上讲,while 循环也可以用作分支语句,即如果 test_expression 条件最初为假,则循环体将永远没有机会执行。
下面程序示范了一个简单的 while 循环:
# 循环的初始化条件
count_i = 0
# 当count_i小于10时,执行循环体
while count_i < 10 :
print("count:", count_i)
# 迭代语句
count_i += 1
print("循环结束!")
在使用 while 循环时,一定要保证循环条件有变成假的时候:否则这个循环将成为一个死循环,永远无法结束这个循环。例如如下代码:
# 下面是一个死循环
count_i2 = 0
while count_i2 < 10 :
print("不停执行的死循环:", count_i2)
count_i2 -=1
print("永远无法跳出的循环体")
上面代码中,count_i2的值越来越小,会导致count_i2的值永远小于10,而count_i2<10的循环条件永远为True,就会导致循环永远不会结束。
与前面介绍的分支语句类似,while 循环的循环体中的所有代码必须使用相同的缩进,否则 Python 也会报错。例如,下面的程序:
# 循环的初始化条件
count_i = 0
# 当count小于10时,执行循环体
while count_i < 10:
print('count_i的值', count_i)
count_i += 1
运行上面的程序,你会看到执行了一个死循环。这是因为count_i += 1 代码没有缩进,这行代码不属于循环体。这样程序中的count_1就会一直为0,导致count_i < 10一直为True,这样循环就变成死循环了。
使用while循环遍历列表和元组
由于列表和元组的元素是有索引的,程序可以通过while循环、列表或元组索引来遍历列表和元组中的所有元素。例如,下面的程序:
a_tuple = ('fkit', 'crazyit', 'Charli')
i = 0
# 只有i小于len(a_list),继续执行循环体
while i < len(a_tuple):
print(a_tuple[i]) # 根据i来访问元组的元素
i += 1
运行上面程序,可以看到如下输出结果:
fkit crazyit Charli
按照上面介绍的方法,while 循环也可用于遍历列表。
下面演示了一个对整数列表的元素进行分类的小程序。能被3整除的归入一个列表;列表:
src_list = [12, 45, 34,13, 100, 24, 56, 74, 109]
a_list = [] # 定义保存整除3的元素
b_list = [] # 定义保存除以3余1的元素
c_list = [] # 定义保存除以3余2的元素
# 只要src_list还有元素,继续执行循环体
while len(src_list) > 0:
# 弹出src_list最后一个元素
ele = src_list.pop()
# 如果ele % 2不等于0
if ele % 3 == 0 :
a_list.append(ele) # 添加元素
elif ele % 3 == 1:
b_list.append(ele) # 添加元素
else:
c_list.append(ele) # 添加元素
print("整除3:", a_list)
print("除以3余1:",b_list)
print("除以3余2:",c_list)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python count()方法:统计一个字符串出现的次数12/15
- ♥ python防止栈溢出的解决方法12/12
- ♥ 如何在 Python 中将字符串转换为数字08/30
- ♥ Python yield 关键字的应用限制01/13
- ♥ pow如何使用python中的内置调用?01/02
- ♥ 如何查看python库08/21
内容反馈