济南网站建设(力推聚搜网络),可以看小视频的浏览器,东港建站公司,免费看的logo图片接上篇《9、流程控制语句-条件语句(if-else)》 上一篇我们学习了Python的控制流语句的概念#xff0c;以及其中的条件语句(if/else)#xff0c;本篇我们来学习控制流语句中的循环语句(for/while)。
一、Python中的循环
Python的循环结构就是让程序“杀个回马枪”#xff0…接上篇《9、流程控制语句-条件语句(if-else)》 上一篇我们学习了Python的控制流语句的概念以及其中的条件语句(if/else)本篇我们来学习控制流语句中的循环语句(for/while)。
一、Python中的循环
Python的循环结构就是让程序“杀个回马枪”不断地重复执行同一段代码。Python中的循环语句有2种分别是for循环和while循环我们下面一一来进行讲解。
二、for循环
1、语法格式
for 循环的语法格式如下
for 迭代变量 in 字符串|列表|元组|字典|集合代码块
语法中的迭代变量就是用来存放从后面的序列类型的集合中取出来的单个元素。代码块是用来进行循环调用的代码也被成为循环体。
for语句的大致执行流程图如下所示
2、核心功能
for循环最重要的也是最核心的功能就是遍历坦白点说就是一个一个的输出。例如下面这个例子我们想一个个的打印python字符串的每一个字符如果没有for循环是这样的
s python
print(第1个字符是,s[0])
print(第2个字符是,s[1])
print(第3个字符是,s[2])
print(第4个字符是,s[3])
print(第5个字符是,s[4])
print(第6个字符是,s[5])
效果
第1个字符是 p
第2个字符是 y
第3个字符是 t
第4个字符是 h
第5个字符是 o
第6个字符是 n
这样固然是可以全部遍历但是如果有一百个或一万个字符呢所以我们要是用简便的方法来循环内容。
有了for循环就可以在for循环的代码块中不停的循环遍历
s python
i 1
for ch in s:print(f第{i}个字符是, ch)i1
效果
第1个字符是 p
第2个字符是 y
第3个字符是 t
第4个字符是 h
第5个字符是 o
第6个字符是 n
这里只需要编写一个for循环结构即可解决这个问题。
3、遍历列表和元组
当用for循环遍历list列表或者tuple元组时其迭代变量会先后被赋值为列表或元组中的每个元素并执行一次循环体。实例
#列表
test_list [110,120,119]
for n in test_list:print(n ,n)#元组
test_tuple (66,88,99)
for m in test_tuple:print(m ,m)
效果
n 110
n 120
n 119
m 66
m 88
m 99
如果我们想获取列表的下标可以利用range函数这里介绍一下range函数range()函数能够轻松地生成一系列的数字格式
range(开始数字结束数字) 或 range(结束数字)
range()函数的用法是让Python从指定的第一个值开始一直数到指定的第二个值停止但不包含第二个值。如果参数仅有一个数字则默认从0开始遍历。 比如 list(range(1,6))
[1, 2, 3, 4, 5]
注意range()函数的返回值类型为range并不直接是列表类型list而如果想要得到range()函数创建的数字列表需要借助list()函数。
range还可以指定步长格式
range(开始数字结束数字步长)
函数range()从“开始数字”开始数然后不断地加“步长”数字直到达到或超过终值“结束数字”。 比如 n list(range(2,11,2))print(n)
[2, 4, 6, 8, 10]
所以我们借助这个思路可以思考一下一般list列表或者tuple元组的长度都是从0开始然后到len(列表或元组)结束len()函数用于计算列表等多元素集合的长度所以获取列表或元组的所有下标的函数应写为
range(0,len(列表或元组变量名))
所以当上面的代码需要打印下标的时候代码为
#列表
test_list [110,120,119]
for i in range(0,len(test_list)):print(ftest_list[{i}] ,test_list[i])#元组
test_tuple (66,88,99)
for j in range(0,len(test_tuple)):print(ftest_tuple[{j}] ,test_tuple[j])
效果
test_list[0] 110
test_list[1] 120
test_list[2] 119
test_tuple[0] 66
test_tuple[1] 88
test_tuple[2] 99
4、遍历字典
如果使用for循环直接遍历字典则迭代变量会被先后赋值为每个键值对中的键如下
per_con {姓名: 光仔December,年龄: 30岁,学校: 河南理工大学}
for ele in per_con:print(ele , ele)
结果
ele 姓名
ele 年龄
ele 学校
在使用for循环遍历字典时经常会用到和字典相关的3个方法即items()、keys()以及values()其中items()是每个键值对元素keys()是键values()是值所以可以这样获取字典中的每个元素、每个元素的键每个元素的值
per_con {姓名: 光仔December,年龄: 30岁,学校: 河南理工大学}
for ele in per_con.items():print(键值对元素 , ele)
for key,value in per_con.items():print(fkey {key},value {value})
for ele in per_con.keys():print(元素的key , ele)
for ele in per_con.values():print(元素的value , ele)
结果
键值对元素 (姓名, 光仔December)
键值对元素 (年龄, 30岁)
键值对元素 (学校, 河南理工大学)
key 姓名,value 光仔December
key 年龄,value 30岁
key 学校,value 河南理工大学
元素的key 姓名
元素的key 年龄
元素的key 学校
元素的value 光仔December
元素的value 30岁
元素的value 河南理工大学
三、while循环
while循环和if条件分支语句类似即在条件表达式为真的情况下会执行相应的代码块。不同之处在于只要条件为真while就会一直重复执行那段代码块。语法格式如下
while 条件表达式代码块
这里的代码块指的是缩进格式相同的多行代码不过在循环结构中它又称为循环体。 while语句执行的具体流程为首先判断条件表达式的值其值为真True时则执行代码块中的语句当执行完毕后再回过头来重新判断条件表达式的值是否为真若仍为真则继续重新执行代码块...如此循环直到条件表达式的值为假False才终止循环。执行流程如下图所示 如打印10以内的所有偶数就可以使用while循环代码如下
# 循环的初始化条件
num 1
# 当 num 小于10时会一直执行循环体
while num 10 :if num%20 :print(num, num)else:print(*****)# 迭代语句num 1
print(循环结束!)
效果
*****
num 2
*****
num 4
*****
num 6
*****
num 8
*****
循环结束!
注意在使用while循环时一定要保证循环条件有变成假的时候否则这个循环将成为一个死循环。所谓死循环指的是无法结束循环的循环结构例如将上面while循环中的num1代码注释掉再运行程序你会发现Python解释器一直在输出*****永远不会结束因为num10一直为True除非我们强制关闭解释器:
除此之外while循环还常用来遍历列表、元组和字符串因为它们都支持通过下标索引获取指定位置的元素。 代码示例
#遍历字符串
my_charpython
i 0
while ilen(my_char):print(fmy_char[{i}]:,my_char[i])i i 1
#遍历列表和元组
test_list [110,120,119]
i 0
while ilen(test_list):print(ftest_list[{i}]:,test_list[i])i i 1
test_tuple (66,88,99)
i 0
while ilen(test_tuple):print(ftest_tuple[{i}]:,test_tuple[i])i i 1
效果
my_char[0]: p
my_char[1]: y
my_char[2]: t
my_char[3]: h
my_char[4]: o
my_char[5]: n
test_list[0]: 110
test_list[1]: 120
test_list[2]: 119
test_tuple[0]: 66
test_tuple[1]: 88
test_tuple[2]: 99
至此有关Python的流程控制语句所有内容内容就讲解完毕了下一篇我们继续来学习字符串的高级应用。
参考尚硅谷Python爬虫教程小白零基础速通教学视频
转载请注明出处https://blog.csdn.net/acmman/article/details/129349447