【2022-06-23】Python流程控制之for循环语句

打印 上一主题 下一主题

主题 573|帖子 573|积分 1719

python流程控制之for循环语句

什么是for循环


  • 首先,我们知道循环就是重复的做某件事情,而for循环是python中提供的另一种循环机制
for循环的作用


  • 需要多次重复执行的代码,都可以使用for循环来完成,并且for循环在进行循环取值时,要比while循环更加的简洁
for循环的基本使用


  • for循环语法结构
    1. for 变量名 in 可迭代对象:     #可迭代对象可以是:列表,字典,字符串,元组,集合
    2. 循环体语句
    3. 基本使用:
    4. 定义一个列表:l2 = [11, 22, 33, 44, 55]
    5. for i in l2:
    6.      print(l2)
    复制代码
  • for循环基本使用之列表循环取值
    1. l3 = ['张三','李四','王五']
    2. for a in l3:
    3.      print(a)
    4.        
    5. 打印结果:张三
    6.          李四
    7.          王五
    8.          
    9. eg:for循环打印列表时,默认取到的值是列表中的每一个数据值         
    10.    
    复制代码
  • for循环基本使用之字典循环取值
    1. user_dic = {'height': 183, 'weight': 55, 'address': 'shanghai'}
    2. for k in user_dic:
    3.     print(k)
    4.    
    5. 打印结果:height
    6.           weight
    7.           address
    8.           
    9. eg:for循环字典 默认只能取到字典的key
    复制代码
  • for循环基本使用之字符串循环取值
    1. info = ‘you are my best frined’
    2. for i in info:
    3.         print(i)
    4. eg:for循环字符串 默认每次取单个字符
    复制代码
  • for循环基本使用之元组循环取值
    1. l4 = ('11', '22', '33')
    2. for b in l4:
    3.     print(b)
    4. 打印结果:11
    5.          22
    6.          33
    7. eg:for循环元组与列表一致,默认取到的值是元组中的每一个数据值      
    复制代码
for循环的执行流程
  1. eg:
  2. 先定义一个可迭代对象:列表:l2 = [11, 22, 33, 44, 55]
  3. for i in l2:
  4.      print(l2)
  5. for循环依次将获取到的列表元素(即可迭代对象,也可以是字典、字符串、元组、集合),赋值给变量名i,每循环一次,变量名i就被赋值一次,直到列表中的最后一个元素被获取完毕,循环结束。流程图如下:
复制代码

for循环+break语句


  • break语句可用于结束整个for循环,与while循环一样,当有嵌套循环时,break语句只能跳出最近一层的循环
    1. # eg:打印数字1-10  遇到数字7则结束打印
    2. for i in range(1,11):
    3.     if i == 7:
    4.         break
    5.     print(i)
    6.    
    7. """
    8. break也能够结束所在的那一层for循环
    9. """
    复制代码
for循环+continue语句


  • continue语句用于结束本次循环,之后进行下一次,当有嵌套循环时,continue语句也是只能跳出最近一层的循环,然后继续执行下一次
    1. # eg:打印数字1-10  遇到数字7跳过,继续执行下一次循环
    2. for i in range(1, 11):
    3.     if i == 7:
    4.         continue
    5.     print(i)
    6.    
    7. """
    8. continue也能够结束所在的那一次for循环 直接开始下一次
    9. """
    复制代码
for循环+else语句


  • 如果for循环没有被break语句强制终止,循环体结束后,则会执行else语句下的子代码,否则不执行
    1. for i in range(10):
    2.     print(i)
    3.     if i == 5:
    4.         break
    5. else:
    6.     print('嘿嘿嘿 猜猜我什么时候执行')
    复制代码
range函数用法


  • range()函数可用于创建一个整数列表,一般用于for循环中
    注意:在python3中,range()返回的是一个可迭代对象(对象是类型),而不是列表,这样做的目的是为了节省代码所占用的空间
  • 函数语法
    1. 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)

  • 实例
    1. for i in range(10):
    2.     print(i)      
    3.    
    4. # 从 0 开始到 10   (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    5. # 如果括号内只有一个数字 那么就是从0开始到数字减一结束(顾头不顾尾 左包含右不包含)
    6. for i in range(3, 11):
    7.     print(i)
    8.    
    9. # 从 3 开始到 11   (3, 4, 5, 6, 7, 8, 9, 10)
    10. # 括号内有两个数字 第一个是起始位置(包含) 第二个是终止位置(不含)
    11. for i in range(0, 30, 5):  
    12.     print(i)
    13.    
    14. # 步长为 5         (0, 5, 10, 15, 20, 25)
    15. # 括号内有三个数字 最后一个是数据的间隔数(等差数列)
    复制代码
  • python2和python3中使用range的区别
    1. """
    2. 在python2中有两个
    3.         range()
    4.                 直接产生一个列表 当数据量很大的时候可能会造成内存溢出(爆满)
    5.         xrange()
    6.                 其实就是python3里面的range方法
    7.                
    8. 在python3中只有一个
    9.         range()
    10.                 类似于是一个工厂 什么时候要什么时候创建给你 节省内存
    11. """
    复制代码
课题演练
  1. # 1.计算1-100所有的数之和
  2. total = 0              # 定义一个变量名total,并给它赋值为0
  3. for i in range(101):   # 循环打印100次
  4.     total += i
  5. print(total)
  6. # 2.判断列表中数字2出现的次数
  7. 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]
  8. number_of_time = {}
  9. for i in l1:
  10.     if i not in number_of_time:
  11.         number_of_time[i] = 1
  12.     else:
  13.         number_of_time[i] += 1
  14. print(number_of_time)
  15. # 3.编写代码自动生成所有页网址
  16. # https://movie.douban.com/top250
  17. base_url = 'https://movie.douban.com/top250?start=%s&filter='
  18. for i in range(0, 250, 25):
  19.     print(base_url % i)
  20.    
  21. # 4.编写代码打印出下列图形(ps:for循环嵌套)
  22. #         *****
  23. #         *****
  24. #         *****
  25. #         *****
  26. for i in range(4):
  27.     for a in range(5):
  28.         print("*", end='')
  29.     print()
复制代码
  1.   ###  大鹏一日同风起,扶摇直上九万里
  2.   ###  假令风歇时下来,犹能簸却沧溟水            
  3.                                                     ——摘自《上李邕》  作者:李白
  4.   ###  路漫漫其修远兮,吾将上下而求索 ###
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表