ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【2022-06-23】Python流程控制之for循环语句
[打印本页]
作者:
莱莱
时间:
2022-8-9 14:39
标题:
【2022-06-23】Python流程控制之for循环语句
python流程控制之for循环语句
什么是for循环
首先,我们知道循环就是重复的做某件事情,而for循环是python中提供的另一种循环机制
for循环的作用
需要多次重复执行的代码,都可以使用for循环来完成,并且for循环在进行循环取值时,要比while循环更加的简洁
for循环的基本使用
for循环语法结构
for 变量名 in 可迭代对象: #可迭代对象可以是:列表,字典,字符串,元组,集合
循环体语句
基本使用:
定义一个列表:l2 = [11, 22, 33, 44, 55]
for i in l2:
print(l2)
复制代码
for循环基本使用之列表循环取值
l3 = ['张三','李四','王五']
for a in l3:
print(a)
打印结果:张三
李四
王五
eg:for循环打印列表时,默认取到的值是列表中的每一个数据值
复制代码
for循环基本使用之字典循环取值
user_dic = {'height': 183, 'weight': 55, 'address': 'shanghai'}
for k in user_dic:
print(k)
打印结果:height
weight
address
eg:for循环字典 默认只能取到字典的key
复制代码
for循环基本使用之字符串循环取值
info = ‘you are my best frined’
for i in info:
print(i)
eg:for循环字符串 默认每次取单个字符
复制代码
for循环基本使用之元组循环取值
l4 = ('11', '22', '33')
for b in l4:
print(b)
打印结果:11
22
33
eg:for循环元组与列表一致,默认取到的值是元组中的每一个数据值
复制代码
for循环的执行流程
eg:
先定义一个可迭代对象:列表:l2 = [11, 22, 33, 44, 55]
for i in l2:
print(l2)
for循环依次将获取到的列表元素(即可迭代对象,也可以是字典、字符串、元组、集合),赋值给变量名i,每循环一次,变量名i就被赋值一次,直到列表中的最后一个元素被获取完毕,循环结束。流程图如下:
复制代码
for循环+break语句
break语句可用于结束整个for循环,与while循环一样,当有嵌套循环时,break语句只能跳出最近一层的循环
# eg:打印数字1-10 遇到数字7则结束打印
for i in range(1,11):
if i == 7:
break
print(i)
"""
break也能够结束所在的那一层for循环
"""
复制代码
for循环+continue语句
continue语句用于结束本次循环,之后进行下一次,当有嵌套循环时,continue语句也是只能跳出最近一层的循环,然后继续执行下一次
# eg:打印数字1-10 遇到数字7跳过,继续执行下一次循环
for i in range(1, 11):
if i == 7:
continue
print(i)
"""
continue也能够结束所在的那一次for循环 直接开始下一次
"""
复制代码
for循环+else语句
如果for循环没有被break语句强制终止,循环体结束后,则会执行else语句下的子代码,否则不执行
for i in range(10):
print(i)
if i == 5:
break
else:
print('嘿嘿嘿 猜猜我什么时候执行')
复制代码
range函数用法
range()函数可用于创建一个整数列表,一般用于for循环中
注意:在python3中,range()返回的是一个可迭代对象(对象是类型),而不是列表,这样做的目的是为了节省代码所占用的空间
函数语法
range(start, stop[, step])
复制代码
参数说明:
start: 计数从 start 开始,默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例
for i in range(10):
print(i)
# 从 0 开始到 10 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# 如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)
for i in range(3, 11):
print(i)
# 从 3 开始到 11 (3, 4, 5, 6, 7, 8, 9, 10)
# 括号内有两个数字 第一个是起始位置(包含) 第二个是终止位置(不含)
for i in range(0, 30, 5):
print(i)
# 步长为 5 (0, 5, 10, 15, 20, 25)
# 括号内有三个数字 最后一个是数据的间隔数(等差数列)
复制代码
python2和python3中使用range的区别
"""
在python2中有两个
range()
直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
xrange()
其实就是python3里面的range方法
在python3中只有一个
range()
类似于是一个工厂 什么时候要什么时候创建给你 节省内存
"""
复制代码
课题演练
# 1.计算1-100所有的数之和
total = 0 # 定义一个变量名total,并给它赋值为0
for i in range(101): # 循环打印100次
total += i
print(total)
# 2.判断列表中数字2出现的次数
l1 = [11, 2, 3, 2, 2, 1, 2, 1, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2]
number_of_time = {}
for i in l1:
if i not in number_of_time:
number_of_time[i] = 1
else:
number_of_time[i] += 1
print(number_of_time)
# 3.编写代码自动生成所有页网址
# https://movie.douban.com/top250
base_url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 250, 25):
print(base_url % i)
# 4.编写代码打印出下列图形(ps:for循环嵌套)
# *****
# *****
# *****
# *****
for i in range(4):
for a in range(5):
print("*", end='')
print()
复制代码
### 大鹏一日同风起,扶摇直上九万里
### 假令风歇时下来,犹能簸却沧溟水
——摘自《上李邕》 作者:李白
### 路漫漫其修远兮,吾将上下而求索 ###
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4