• python学习第五天之循环结构


    目录

    1.range()函数的使用

    2.循环结构

    1.while循环

    2.for-in循环

    3.break,continue与else语句

    4.嵌套循环


    1.range()函数的使用

    • 用于生成一个整数序列

    • 创建range对象的三种方式

     

    • 返回值是一个迭代器对象

    • range类型的优点:不管range对象表示的整数序列有多少,所有range对象占用的内存空间都是相同,因为仅仅需要储存start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素

    • in与not in判断整数序列中是否存在(不存在)指定的整数

    ​
    ​
    
    
    1. #range()的三种创建方式
    2. '''第一种创建方式,只有一个参数(小括号中只给了一个数)'''
    3. r = range(10)   #[0,1,2,3,4,5,6,7,8,9],默认从0开始,默认相差1称为步长
    4. print(r)   #range(0,10)
    5. print(list(r)) #用于查看range对象中的整数序列 --》list是列表的意思
    6. '''第二种创建方式,给了两个参数(小括号中给了两个数)'''
    7. r = range(1,10)     #指定了起始值,从1开始,到10结束(不包含10),步长为1
    8. print(list(r))     #[1,2,3,4,5,6,7,8,9]
    9. '''第三种创建方式,给了三个参数(小括号给了三个数)'''
    10. r = range(1,10,2)
    11. print(list(r)) #[1,3,5,7,9]
    12. '''判断指定的整数 在序列中是否存在in,not in'''
    13. print(10 in r) #False,10不在当前的r这个整数序列中
    14. print(9 in r)   #True,9在当前的r这个序列中
    15. print(10 not in r) #True
    16. print(9 not in r)   #False
    17. print(range(1,20,1))   #[1...19]
    18. print(range(1,101,1))   #[1....100]

    2.循环结构

    • 反复做同一件事情的情况,称为循环

    • 循环结构的流程图

     

    • 循环的分类

      • while

      • for

    • 语法结构

      while 条件表达式:

      条件执行体(循环体)

    • 选择结构的if与循环结构while的区别

      • if是判断一次,条件为True执行一次

      • while是判断N+1次,条件为True执行N次

      ​
      ​
      
      
      1. a = 1
      2. #判断条件表达式
      3. while a<10:
      4.   #执行条件执行体
      5.   print(a)
      6.   a+=1

    1.while循环

    • 四步循环法

      • 初始化变量

      • 条件判断

      • 条件执行体(循环体)

      • 改变变量

       

    • while循环的执行流程

    1. #计算0到4之间的累加和
    2. '''
    3. 4步循环法
    4. 1.初始化变量
    5. 2.条件判断
    6. 3.条件执行体(循环体)
    7. 4.改变变量
    8. 总结:初始化的变量与条件判断的变量与改变的变量为同一个
    9. '''
    10. sum =0 #用于存储累加和
    11. '''初始化变量为0'''
    12. a = 0
    13. '''条件判断'''
    14. while a<5:
    15.   '''条件执行体'''
    16.   sum += a
    17.   '''改变变量'''
    18.   a += 1
    19. print('和为',sum)
    ​
    ​

    练习:计算1-100的偶数和

    1. print(bool(0))
    2. '''计算1-100的偶数和'''
    3. '''初始化变量'''
    4. a = 1
    5. sum = 0
    6. '''条件判断'''
    7. while a<=100:
    8.   '''条件执行体(求和)'''
    9.   #条件判断是否为偶数
    10.   if not bool(a%2):#if a%2==0:
    11.       sum += a
    12.   '''改变变量'''
    13.   a+=1
    14. print('1-100之间的偶数和',sum)

    2.for-in循环

    • for-in循环

      • in表达从(字符串,序列等)中依次取值,又称遍历

      • for-in遍历的对象必须是可迭代对象

    • for-in的语法结构

      for 自定义的变量 in 可迭代对象:

      循环体

    • for-in的执行图

     

    • 循环体内不需要访问自定义变量,可以将自定义变量替代为下划线

    ​
    ​
    
    
    1. for item in 'Python': #第一次取出来的是p,将p赋值item,将item,将item的值输出
    2.   print(item)
    3. #range()产生一个整数序列,--》也是一个可迭代对象
    4. for i in range(10):
    5.   print(i)
    6. #如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
    7. for _ in range(5):
    8.   print('人生苦短,我用python')
    9. #计算1-100的偶数和
    10. sum =0
    11. for item in range(1,101):
    12.   if item%2==0 :
    13.       sum+=item
    14. print('1-100之间的偶数和为:',sum)
    ​
    ​

    练习:输出100-999的水仙花数

    ​
    ​
    
    
    1. '''输出100-999之间的水仙花数
    2.   举例:
    3.   153=3*3*3+5*5*5+1*1*1
    4. '''
    5. for item in range(100,1000):
    6.   ge = item % 10     #各位
    7.   shi = item//10%10   #十位
    8.   bai = item//100     #百位
    9.   #print(bai,shi,ge)
    10.   #判断
    11.   if ge**3+shi**3+bai**3==item:
    12.       print(item)

    3.break,continue与else语句

    • 流程控制语句break

      • 用于结束循环结构,通常与分支结构if一起使用

       

      1. '''从键盘录入密码,最多录入3次,如果正确就结束循环'''
      2. for item in range(3):
      3.   pwd = input('请输入密码:')
      4.   if pwd =='888':
      5.       print('密码正确')
      6.       break
      7.   else:
      8.       print('密码不正确')
      1. a =0
      2. while a<3:
      3.   '''条件执行体(循环体)'''
      4.   pwd = input('请输入密码')
      5.   if pwd =='8888':
      6.       print('密码正确')
      7.       break
      8.   else:
      9.       print('密码不正确')
      10.   '''改变变量'''
      11.   a+=1

    • 流程控制语句continue

      • 用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用

       

      1. '''要求输出1-50之间所有5的倍数,5,10,15,20,25
      2.   5的倍数的共同点,和5的余数为0的数都是5的倍数
      3.   什么样的数不是5的倍数,1,2,3,4,6,7,8,9.。。与5的余数不是0的数不是5的倍数
      4.   要求是使用continue实现
      5. '''
      6. for item in range(1,51):
      7.   if item%5==0:
      8.       print(item)
      9. print('-------------使用continue--------')
      10. for item in range(1,51):
      11.   if item%5!=0:
      12.       continue
      13.   print(item)

    • else语句

      • 与else语句配合使用的三种情况

       

      ​
      ​
      
      
      1. for item in range(3):
      2.   pwd = input('请输入密码:')
      3.   if pwd == '8888':
      4.       print('密码错误')
      5.       break
      6.   else:
      7.       print('密码错误')
      8. else:
      9.   print('对不起,三次密码均输入错误')
      ​
      ​
      
      
      1. a = 0
      2. while a<3:
      3.   pwd = input('请输入密码')
      4.   if pwd == '8888':
      5.       print('密码正确')
      6.       break
      7.   else:
      8.       print('密码不正确')
      9.   '''改变变量'''
      10.   a+=1
      11. else:
      12.   print('对不起,三次密码均输入错误')
          
      ​
      ​
      ​

    4.嵌套循环

    • 循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环体执行

     

    ​
    ​
    
    
    1. for i in range(1,4):   #行表,执行三次,一次是一行
    2.   for j in range(1,5):
    3.       print('*', end='\t')
    4.   print() #打印
    1. #输出三角形
    2. for i in range(1,10):
    3.   for i in range(1,i+1):
    4.       print('*',end='')
    5.   print()
    1. #输出九九乘法表
    2. for i in range(1,10):
    3.   for j in range(1,i+1):
    4.       print(i,'*',j,'=',i*j,end='\t')
    5.   print()
    • 二重循环中的break和continue用于控制本层循环

     

    1. '''流程控制语句break与continue在二重循环中的使用'''
    2. for i in range(5): #代表外层循环要执行5次
    3. for j in range(1,11):
    4. if j%2==0:
    5. #break #直接跳到外部循环
    6. continue
    7. print(j,end='\t')
    8. print()

    总结:

  • 相关阅读:
    android13(T) SystemUI 运营商显示 bug 修复
    拼多多Temu出海项目正式上线,教你如何做好测评补单,分得第一杯羹
    easyexcel导入读取数据后,实体类的字段全为null
    VS Code快速实现Git PR操作
    python 在window对exe、注册表、bat、系统服务操作等实例讲解
    33K Star?这才是程序员需要的神器。。。
    unity 性能优化之GPU和资源优化
    java学习二------锁
    Github标星35K+超火的Spring Boot实战项目,附超全教程文档
    新年学新语言Go之一
  • 原文地址:https://blog.csdn.net/qq_52074678/article/details/125591609