本系列文章配套代码获取有以下三种途径:
-
可以在以下网站查看,该网站是使用JupyterLite搭建的web端Jupyter环境,因此无需在本地安装运行环境即可使用,首次运行浏览器需要下载一些配置文件(大约20M):
https://returu.github.io/Python_Basic/lab/index.html
-
也可以通过百度网盘获取,需要在本地配置代码运行环境,环境配置可以查看【Python基础】2.搭建Python开发环境:
链接:https://pan.baidu.com/s/1x2Ynh_VibPY2u-HWTaJo8w?pwd=mnsj
提取码:mnsj
-
前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/Python_Basic
——————————————————
Python通过for、while等保留字提供了遍历循环和无限循环结构。
1.遍历循环:for语句:
Python中通过保留字for实现遍历循环,基本语法如下:
1for <循环变量> in <遍历结构>:
2 <语句块>
for语句循环的次数是根据遍历结构(字符串、组合数据类型、文件、range()函数)中元素的个数确定的。从遍历结构中逐一提取其中的元素,将提取的元素执行依次语句块。
1#遍历结构为字符串
2for i in 'Python':
3 print(i)
1P
2y
3t
4h
5o
6n
——————————————————————————
1#遍历结构为组合数据类型:列表
2for i in ['A','B','C']:
3 print(i)程序执行结果为:
1A
2B
3C
——————————————————————————
1#遍历结构为range()函数
2for i in range(4):
3 print('循环次数:',i)
程序执行结果为:
1循环次数: 0
2循环次数: 1
3循环次数: 2
4循环次数: 3
2.无限循环:while语句:
无限循环会一直保持循环操作直至循环条件不满足为止。
Python中通过保留字while实现无限循环,基本语法如下:
1while <条件>:
2 <语句块>
当条件为True时,循环执行语句块中的语句;当条件为False时,循环终止,执行与while同级别缩进的后续语句。
1# 通过while循环实现一个计数循环,需要在循环之前初始化一个计数器idx,在每次循环时对计数器进行累加
2
3idx = 0
4
5while idx < len('python'): # 条件为;idx < 字符串python的长度值
6 print('循环次数为:' , idx+1) # 条件为True时执行的语句
7 idx += 1 # 每循环一次,idx值就加1
8
9print('循环结束!') # 条件为False时执行的后续语句
程序执行结果为:
1循环次数为:1
2循环次数为:2
3循环次数为:3
4循环次数为:4
5循环次数为:5
6循环次数为:6
7循环结束!
3.循环保留字:break、continue:
break
、continue保留字用于辅助控制循环结构。
-
break用于跳出最内层的for或while循环,然后执行后续语句。
1# break保留字
2for s in 'python':
3 if s == 't':
4 break
5 print(s)
程序执行结果为:
1p
2y
需要注意的是,当程序有多个循环嵌套时,break只是跳出最内层的循环,但是仍然会执行外层的循环。
1# 当程序有多个循环嵌套时,break只是跳出最内层的循环,但是仍然会执行外层的循环
2for s in 'python':
3 for i in range(3):
4 print(s)
5 if s == 't':
6 break
程序执行结果为(字母t只输出1次,其余字母均为3次):
1p
2p
3p
4y
5y
6y
7t
8h
9h
10h
11o
12o
13o
14n
15n
16n
17
-
continue用于结束当前当次循环,即跳出当前循环体中尚未执行的语句,但是不跳出当前循环。
1# continue保留字
2for s in 'python':
3 if s == 't':
4 continue
5 print(s)
程序执行结果为:
1p
2y
3h
4o
5n
4.使用zip()迭代多个序列:
在循环结构中,使用zip()函数可以很方便的迭代多个序列。
1students = ['Tom' , 'Jon' , 'Jerry']
2scores = [55 , 66 , 77]
3
4for student , score in zip(students , scores):
5 print(f'学生{student}本次考试分数为{score}。')
另外使用zip()可以很方便的生成元祖列表或者字典数据(后续内容)结构。
1# 生成元祖列表
2>>> students = 'Tom' , 'Jon' , 'Jerry'
3>>> scores = 55 , 66 , 77
4>>> list(zip(students , scores))
5[('Tom', 55), ('Jon', 66), ('Jerry', 77)]
1# 生成字典
2>>> students = 'Tom' , 'Jon' , 'Jerry'
3>>> scores = 55 , 66 , 77
4>>> dict(zip(students , scores))
5{'Tom': 55, 'Jon': 66, 'Jerry': 77}
5.迭代器:
for语句循环的次数是根据遍历结构中元素的个数确定的。
在遍历的过程中,隐式的调用了内置的iter()
函数。iter()
被调用后,会返回一个迭代器对象。迭代器对象定义了__next__()
方法,每调用一次得到一个元素,当没有元素时,将通过StopIteration
异常来告诉for语句停止遍历。
1>>> ls = ['A','B','C']
2>>> it = iter(ls)
3>>> it
4<list_iterator at 0x20eb239b880>
5>>> it.__next__()
6'A'
7>>> it.__next__()
8'B'
9>>> it.__next__()
10'C'
11>>> it.__next__()
12Traceback (most recent call last):
13 File "<stdin>", line 1, in <module>
14StopIteration
本篇文章来源于微信公众号: 码农设计师