莱莱 发表于 2022-8-9 14:39:39

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

python流程控制之for循环语句

什么是for循环


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


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


[*]for循环语法结构
for 变量名 in 可迭代对象:   #可迭代对象可以是:列表,字典,字符串,元组,集合
循环体语句

基本使用:
定义一个列表:l2 =
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 =
for i in l2:
   print(l2)

for循环依次将获取到的列表元素(即可迭代对象,也可以是字典、字符串、元组、集合),赋值给变量名i,每循环一次,变量名i就被赋值一次,直到列表中的最后一个元素被获取完毕,循环结束。流程图如下:https://img2022.cnblogs.com/blog/2805882/202206/2805882-20220623224403590-386261289.png
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) 是没有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 =
number_of_time = {}
for i in l1:
    if i not in number_of_time:
      number_of_time = 1
    else:
      number_of_time += 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()###大鹏一日同风起,扶摇直上九万里
###假令风歇时下来,犹能簸却沧溟水            

                                                    ——摘自《上李邕》作者:李白






###路漫漫其修远兮,吾将上下而求索 ###
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【2022-06-23】Python流程控制之for循环语句