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!")
      

posted on 2020-07-02 16:22  wangsiqi  阅读(255)  评论(0编辑  收藏  举报

导航