• XX学Python·for


    • for循环时遍历数据序列,每次获取一个元素,直到元素全部被获取,结束循环。

      # for循环的语法结构
      """
      for 临时变量 in 数据序列(容器):
          要重复执行的代码
      """
      # 循环逻辑:for循环会依次提取数据序列中的元素,每次提取一个,放入临时变量中储存
      # 在循环体中可使用临时变量,数据序列中有多少个元素,for循环的循环体将会被执行多少次
      str1 = 'helloPython'  # 循环遍历str1  遍历:依次提取每一个元素
      for i in str1:
          print(i)
      
    • for循环和while循环的区别

      • for循环数据序列,元素提取完成自动停止,不需要使用循环变量

      • for循环不需要循环条件,所以也不会有循环条件成立喝不成立的说法

      • 在开发中我们使用for循环的比例居多,while循环主要是构造死循环结构

      • 循环需要配合容器类型(数据序列)进行使用

    range(start,stop,[ step])

    # range是一个整数序列,可迭代类型,可使用for进行遍历,但没办法直接输出。
    # range(起始值,结束值,步长),含起始位置,不含结束位置,即区间为[起始值,结束值)。
    for i in range(1, 10):
        print(i)  # 输出1,2,3...9。每个数都换行
    
    print(type(range(1,10)))#类型是 <class 'range'>
    
    # 怎样一次打印range中的所有元素啦?用list
    print(list(range(0, 5, 1)))  # 结果为[0,1,2,3,4]
    print(list(range(0, 5)))  # 步长可省略,默认为1.结果同上
    print(list(range(5)))  # 若起始位置是0则可省。起始位置省,步长也必省。结果同上
    print(list(range(10, 3, -1)))  # 步长可为负数,结果[10, 9, 8, 7, 6, 5, 4]
    
    • for循环小案例

      # 求1-100的累加和
      sum1 = 0
      for i in range(1, 101):
          sum1 += i
      print(f'1-100的累加和为{sum1}')
      
      # 求1-100的偶数累加和
      sum1 = 0
      for i in range(1, 101):
          if i % 2 == 0:
              sum1 += i
      print(f'1-100的偶数累加和为{sum1}')
      
    • for循环里的break和continue

    # break 打破循环,后续不在执行
    str1 = 'itheima'
    for i in str1:
        if i == 'e':
            print('遇到e了,结束循环')
            break
        print(i)
    # continue跳出本次循环,进入下一次循环,不会影响循环次数
    str1 = 'itheima'
    for i in str1:
        if i == 'e':
            print('遇到e了,进入下一次循环')
            continue
        print(i)
    '''
    案例:用for循环实现用户登录
    ① 输入用户名和密码
    ② 判断用户名和密码是否正确(username='admin',password='admin888') 
    ③ 登录仅有三次机会,超过3次会报错 
    '''
    # 循环3次
    for i in range(3):
        # 获取用户名和密码
        username = input('请输入用户名:')
        password = input('请输入密码:')
        # 比对用户名和密码
        if username == 'admin' and password == 'admin888':
            print('登录成功')
            break
        else:
            print('用户名或密码错误')
        if i == 2:
            print('3次机会用完,账号被冻结')
    

    for循环嵌套

    # 用for循环写九九乘法表
    for i in range(1, 10):
        for j in range(1, i+1):
            print(F'{j} * {i} = {i*j}', end='\t')
        print()
    

    循环中的else

    • 如果循环正常结束,则执行else中的代码,如果循环异常结束,不执行else中的代码

    • break 可以打破循环造成循环异常结束,continue不会造成循环异常结束

      '''
      while 循环条件:
           条件满足循环执行的代码
      else:
           条件不成立执行的代码,执行后循环结果终止
      
      '''
      
      '''
      for 临时变量 in 数据序列(容器):
          循环执行的代码
      else:
          所有元素遍历完成后执行的代码
      '''
      
  • 相关阅读:
    单例模式(Singleton)在SQLite操作中的应用
    android中自定義progress
    eclipse中高亮显示相同的变量
    android定时滚动
    Android GridView中设置了Button以后就不能响应OnItemClick()
    java中转换文件大小
    android 的代码仓库
    Eclipse中代码提示功能补全
    poj 3635 Full Tank? (优先队列 + bfs)
    hdu 4279 Number (规律题 2012 ACM/ICPC Asia Regional Tianjin Online )
  • 原文地址:https://www.cnblogs.com/portb/p/16754711.html
Copyright © 2020-2023  润新知