python学习之路2(程序的控制结构)

发布时间:2019-05-26 22:30:37编辑:auto阅读(1876)

    1.程序的分支结构

    1.1 单分支  

              if <条件>:                       例:guess = eval(input())

                  <语句块>                     if guess == 99:

                                                             print(“猜对了”)

                

    1.2二分支  

              if<条件>:

                <语句块1>

              else:

                     <语句块2>

    1.3紧凑形式:

            适用于简单表达式的二分支结构

            <表达式1> if <条件> else <表达式2>    #条件成立返回表达式1,否则返回表达式2

           例:guess = eval(input())

                  print(“猜{}了”.format(“对”if guess==99 else “错”))

    1.4多分支结构

            if elif… else     注意多条件之间的包含关系;注意变量取值范围的覆盖

            例:对不同分数分级问题

        score = eval(input())

        if score >= 90:

               grade = “A”

        elif score >= 80:

                    grade = “B”

        elif score >= 70:

                 grade = “C”

        elif score >=60:

                   grade = “D”

        else:

                grade = “E”

        print(“输入成绩级别属于{}”.format(grade))

    1.5条件判断操作符:

      >,<,<=,>=,==,!=

        用于条件组合的三个保留字:x and y #逻辑与,同时成立执行语句块;

      x or y  #逻辑或,一个成立就执行语句块;

      not x  #条件x的逻辑非

        -例:  guess = eval(input())                      

                  if guess >99 or guess <99:                   if not true:

                               print(“猜对了”)                                   print(“语句块1”)

                  else:                                                      else:

                                print(“猜错了”)                                       print(“语句块2”)

    1.6程序的异常处理 

    1.6.1基本使用:

      #不发生异常执行语句块1,发生异常执行语句块2

      try:  

        <语句块1>

      except: 或except<异常类型>:

        <语句块2>         

      #在except后标注异常类型后,后续语句块智能响应同等类型的异常,异常类型是python内部定义的,不需要给出字符串形式

        例:try:

                     num = eval(input(“请输入一个整数:”))

                          print(num**2)

              except:  或except NameError:

                          print(“输入不是整数”)   

    1.6.2高级使用:

      try:

         <语句块1>

      except:

        <语句块2>

      else:   #不发生异常时执行

        <语句块3>

      # 是否发生异常,都要执行

      finally:    

        <语句块4>

    1.7实例:身体质量指数BMI

       --国际上常用衡量人体肥胖与健康程度的重要标准,主要用于统计分析

       --定义:BMI=体重(kg)/身高²(m²)

       --问题需求:输入—给定体重和身高值;输出—BMI指标分类信息(国内和国际)

      #CalBMIv3.py

      height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))  

      bmi = weight / pow(height,2)

      print("BMI 数值为:{:.2f}".format(bmi))

      who,nat = "","" #定义空字符串存放内容,可以不写

      if bmi < 18.5:

        who,nat = "偏瘦","偏瘦"

      elif 18.5 <= bmi <24:

        who,nat = "正常","正常"

      elif 24<= bmi <25:

        who,nat = "正常","偏胖"

      elif 25 <= bmi < 28:

        who,nat = "偏胖","偏胖"

      elif 28 <= bmi <30:

        who,nat = "偏胖","肥胖"

      else:

        who,nat = "肥胖","肥胖"

      print("BMI指标为:国际'{0},国内{1}'".format(who,nat))

    2.程序的循环结构

    2.1遍历循环

      遍历某个结构形成的循环方式

        for <循环变量> in <遍历结构>:

          <语句块>

      --由for和in保留字组成,完整遍历所有元素后结束

      --每次循环,从变量结构中提取一个元素放入循环变量中,并执行一次语句块

    2.1.1遍历循环的应用

      1.计数循环N次

      for i in range(N):

        <语句块>

      2.计数循环特定次

      for i in range(M:N:K)

        <语句块>

      --range(M:N:K)产生从M开始到N的前一位,K为步长,通俗来讲就是产生一个从M开始,每次加上步长K,值不到N的数字序列

      --步长K可以省略,即为0

      3.字符串遍历循环

      for c in s:

        <语句块>

      --遍历字符串中的每个字符,s为字符串,c为字符串中的每个字符(存储字符的变量)

      4.列表遍历循环

      for item in ls:

        <语句块>

      --ls为一个列表,遍历其中每个元素,产生循环

      5.文件遍历循环

      for line in fi:

        <语句块>

      --fi为文件标识符,可以理解为一个文件,遍历文件中的每一行,产生循环

    2.2无限循环

      由条件控制的循环运行方式

      while <条件>:

        <语句块>

      --条件成立,则执行语句块,执行之后再判断条件,以此往复,直到不符合条件截止

    2.3循环控制保留字

      --break:跳出并结束当前的整个循环,并执行循环后的语句,一个break只能跳出一层循环

      --continue:结束当次的循环,继续执行后续次数循环

      --二者均可以和for,while这样的循环搭配使用

      例:for c in "PYTHON":                for c in "PYTHON":

          if c == "T":                     if c == "T"

            continue                      break

          print(c,end="")                   print(c,end="")

        输出为:PYHON                  输出为:PY

    2.4循环的高级用法

      循环与else

      for <循环变量> in <遍历结构>:              while <条件>:

        <语句块1>                       <语句块1>   

      else:                         else: 

        <语句块2>                       <语句块2>

      --当循环没有被break保留字退出时,执行else语句块

      --和异常处理中的else类似

      例:

        for c in "PYTHON":                for c in "PYTHON":

          if c == "T":                     if c == "T"

            continue                      break

          print(c,end="")                   print(c,end="")

        else:                       else:

          print("正常退出")                  print("正常退出") 

        输出: PYHON正常退出               输出: PY            

     

      

关键字