• Python基础语法(三)-- 循环


    一、概况:

    • end 关键字
    • 条件控制(if)
    • 循环语句
      • while循环
      • for 语句
      • range()函数
      • break 和 continue 语句及循环中的 else 子句
      • pass语句

    二、具体内容:

    1、end 关键字:

    1. 可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符。

      # Fibonacci series: 斐波纳契数列
      # 两个元素的总和确定了下一个数
      a,b = 0,1
      while b < 1000:
          print(b,end=',')
          a,b = b,a+b
      

    2、条件控制(if):

    1. if语句:

      if condition_1:   # 每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块
          statement_block_1
      elif condition_2:
          statement_block_2
      else:
          statement_block_3
      
      • 例:

        # 狗的年龄计算判断:
        age = int(input("请输入你家狗狗的年龄:"))
        print("")
        if age <= 0:
            print("你这是在逗我吧!")
        elif age == 1:
            print("相当于14岁的人")
        elif age == 2:
            print("相当于22岁的人")
        elif age > 2:
            human = 22 + (age -2)*5
            print ("对应人类年龄:",human)
        
        ### 退出提示
        input("点击enter键退出")
        
        -----------------------------------------------------------------
        
        # 数字猜谜游戏:
        number = 7
        guess = -1
        print ("数字猜谜游戏!")
        while guess != number:
            guess = int(input("请输入你猜的数字:"))
        
            if guess ==number:
                print ("恭喜,你猜对了!")
            elif guess < number:
                print ("猜的数字小了...")
            elif guess > number:
                print ("猜的数字大了...")
        
    2. if嵌套:

      # 在嵌套if语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
      
      if 表达式1:
          语句
          if 表达式2:
              语句
          elif 表达式3:
              语句
          else:
              语句
      elif 表达式4:
          语句
      else:
          语句
      
      • 例:

        num = int(input("请输入一个数字:"))
        if num%2 == 0:
            if num%3 == 0:
                print ("你输入的数字可以整除2和3")
            else:
                print ("你输入的数字可以整除2,但不能整除3")
        else:
            if num%3 == 0:
                print ("你输入的数字可以整除3,但不能整除2")
            else:
                print("你输入的数字不能整除2和3")
        

    3、循环语句:

    1. while循环

      • while语句的一般形式:

        while 判断条件(condition):
            执行语句(statements).....
        
      • # 实例: 用while来计算1到100的总和
        n = 100
        
        sum = 0
        counter = 1
        while counter <= n:
            sum =sum +counter
            counter += 1
        print ("1到 %d 之和为:%d" % (n,sum))
        
      • 无限循环

        # 可以通过设置条件表达式永远不为false来实现无限循环。
        var = 1
        while var == 1:    #表达式永远为true
            num = int(input("请输入一个数字:"))
            print ("你输入的数字是:",num)
        
        print ("good bye!")
        
        # 可以使用 ctrl+c 来退出当前的无限循环
        
      • while 循环使用else语句

        1. 在 while...else 在条件语句为 false 时执行 else 的语句块

          # 语法格式:
          while <exper>:
              <statement(s)>
          else:
              <additional_statement(s)>
          
        2. 实例:

          # 循环输出数字,并判断大小
          count = 0
          while count < 5:
              print (count,"<5")
              count = count + 1
          else:
              print (count,">=5")
          
      • 简单语句组

        # 类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中
        
        flag = 1
        while (flag): print ("欢迎访问菜鸟教程!")
        print ("good bye!")
        
    2. for循环

      • Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。

      • for循环的一般格式如下:

        for <variable> in <sequence>:
            <statements>
        else:
            <statements>
        
      • 实例:

        # for实例中使用了 break 语句,break 语句用于跳出当前循环体:
        sites = ["Baidu", "Google","Runoob","Taobao"]
        for site in sites:
            if site =="Runoob":
                print ("菜鸟教程")
                break
            print ("循环数据" + site)
        else:
            print ("没有循环数据!")
        print ("完成循环")
        
    3. range()函数

      • 需要遍历数字序列,可以使用内置函数range()函数。它会生成数列:

        for i in range(5):
            print (i)
        
      • 可以使用range指定区间的值:

        for i in range(5,9):
            print (i)
        
      • 可以使用range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做‘步长’)

        for i in range(0,10,3):
            print (i)
        -----------------------------------------------
        # 负数
        for i in range(-10,-100,-30):
            print (i)
        
      • 可以结合 range() 和 len() 函数以遍历一个序列的索引

        a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
        for i in range(len(a)):
            print (i,a[i])
        
      • 可以使用 range() 函数来创建一个列表

        list(range(5))
        [0, 1, 2, 3, 4]
        
    4. break 和 countinue 语句及循环中的 else子句

      • break 语句可以跳出 for和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

      • continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然和继续进行下一轮循环。

      • 实例:

        # while 中使用break:
        n = 5
        while n > 0:
            n -=1
            if n == 2:
                break
            print(n)
        print('循环结束。')
        ----------------------------------------------------------------------------
        # while 中使用 continue:
        n = 5
        while n > 0:
            n -= 1
            if n == 2:
                continue
            print (n)
        print ('循环结束。')
        
      • 循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false(以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

      # 实例:查询质数的循环
      for n in range(2,10):
          for x in range(2,n):
              if n % x ==0:
                  print (n,'等于',x,'*',n/x)
                  break
          else:
              print (n,'是质数')   #循环中没有找到元素
      
    5. pass语句

      • pass 是空语句,是为了保持程序结构的完整性。

      • pass 不做任何事情,一般用做占位语句,如下:

        while True:
            pass
        
      • 最小的类

        class MyEmptyClass:
            pass
        
      • 在字母为 o 时,执行pass语句块:

        for letter in 'Runoob':
            if letter == 'o':
                pass
                print ('执行 pass 块')
            print ("当前字母:",letter)
        print ("go bye!")
        
  • 相关阅读:
    处理跨浏览器的事件处理程序
    html5 canvas时钟
    拖拽事件的原理
    改变top使用轮播图
    程序开发之最大子数组
    第四周学习进度
    敏捷开发相关阅读
    构建之法读书笔记04
    四则运算终结版
    第三周学习进度
  • 原文地址:https://www.cnblogs.com/wsq-1/p/13225478.html
Copyright © 2020-2023  润新知