分支和循环的学习总结

  其实,在之前学习的知识里,便已经有涉及到了分支和循环了,我整理了下语法。

  首先,分支 :  1.        if 条件 :              条件为真执行的语句

         2.   if  条件:          当条件为真是执行的语句

               else:              条件为假执行的语句

         3.     if  条件1:               条件1为真执行的语句

             elif 条件2 :     条件2为真执行的语句     ( 这里的elif 语句可以有多个

            else  条件n:      以上条件均不符合的时候执行的语句也可称条件n为真时执行的语句) 

  这里,有一点需要注意,在C语言中,经常会发生"悬挂else"的情况,因为在C中,else是与其最近的if想匹配的,所以在C中要注意防止"悬挂else"的发生。但是,在Python语言中,则可以有效的避免这种情况的发生,因为Python中的缩进,使用了强制的规定,令代码必须正确的对其才能跑起来,所以,相对应的if和else会正确对齐,便可以避免发生悬挂else

   案例:按100分制,90以上为A,80-90为B,60-80为C,60以下为D。写一个程序,当用户输入分数时,自动转换为ABCD的形式打印。

  方法1,score = int(input("请输入一个分数:"))

       if  100 >= score >=90 :                      print("A")

       if  90 > score >=80 :                          print("B")

       if  80 > score >=60 :                          print("C")

       if  60 > score >=0 :                            print("D")

       if  score <0 or score >100:                  print("输入错误!")

  方法2,score = int(input("请输入一个分数:"))

       if  100 >= score >=90 :                      print("A")

       else :

        if 90 > score >=80 :                    print("B")

        else:

          if 80 >score >=60 :               print("C")

          else :

            if 60 > score >=0 :          print("D")

            else :                              print("输入错误!")

  方法3,score = int(input("请输入一个分数:"))

       if  100 >= score >=90 :                      print("A")

       elif 90 >score >=80 :                          print("B")               (elif 相当于C中的 else if )

       elif 80 >score >=60 :                          print("C")

       elif 60 >score >=0 :                            print("D")

       else :                                                  print("输入错误!")

  然后,还学到了一个条件表达式(三元操作符):语法:   x  if  条件  else   y     (当条件成立时,输出x ,否则输出 y)

一个简单的例题: x, y = 4 ,5

         if  x < y :                   samll = x

         else :                         small = y                       最后的输出: 4

  上面的例题课改进为: small = x  if  x < y  else  y                     最后的输出也是:4

还学到一个名词 : 断言(assert)——当断言后的条件为假的时候,程序自动崩溃并抛出AssertionError 的异常。 真的时候继续运行。

  讲完分支,现在来总结循环。

  while 循环: 语法——while 条件:            循环体         (当条件为真执行循环体,否则不执行循环体的任何语句)

  for 循环 :这里的for循环和C语言里面的for循环语法是不一样的。

     语法—— for 目标  in  表达式 :                   循环体 

  这里,和for循环一起学到的知识还有一个和for循环搭档的函数 range()  函数。其语法为——range( [start ,] , stop [, step=1] )

    ——这个函数有三个参数。其中用中括号括起来的两个表示这两个参数是可选参数。

    ——step = 1 表示第三个参数的默认值为 1 。

    ——range 作用是生成一个从start参数的值到stop参数的值结束的数字序列。

 例题:range(5)             返回 range(0,5)

    list(range(5))      输出:[0 .1,2, 3, 4]

    for i in range(5)          

    print(i)               输出:0 1 2 3 4

    for i in range(2,9)

    print(i)               输出:2 3 4 5 6 7 8

    for i in range(1,10,2)

    print(i)               输出: 1 3 5 7 9           (这里求的是从1开始,到10结束,每隔2打印输出)

 最后,是关于循环语句中两个关键的语句:break 和 continue

  break:作用是终止当前循环,即跳出循环体。

  continue:作用是终止本轮循环,并开始下一轮循环。(注意,在开始下一轮循环之前,会进行测试,至于当循环条件为真时,才会开始下一轮)

 例题: for i in rang(10) :

      if  i %2 !=0 :

        print(i)

        continue

      i +=2

      print(i)

  最后输出为: 2 ,1,4,3,6,5,8,7,10,9

{ 若 i 为奇数,便打印出来,然后continue , 便会终止本轮循环,然后在进入下一次循环之前,判断条件是否为真,不为真时退出循环体}

{首先  i= 0 ,if 后面条件不为真,不执行循环体,执行 i+=2 ,打印2

    i =1 ,if 后面条件为真,打印 1 ,continue 终止接下来的语句,开始下一轮

    i= 2 ,if 后面条件不为真,不执行循环体,执行 i+=2,打印4、

    i= 3 ,if 后面条件为真,打印 3 ,continue 终止接下来的语句,开始下一轮

    i = 4,if 后面条件不为真,不执行循环体,执行 i+=2,打印6、

    i = 5 ,if 后面条件为真,打印 5,continue 终止接下来的语句,开始下一轮

    i= 6,if 后面条件不为真,不执行循环体,执行 i+=2,打印8、

    i= 7,if 后面条件为真,打印 7,continue 终止接下来的语句,开始下一轮

      i= 8 ,if 后面条件不为真,不执行循环体,执行 i+=2,打印10、

    i = 9,if 后面条件为真,打印 9,continue 终止接下来的语句,开始下一轮

}

只有能够学以致用才算学到了东西。

 

 

 

  

转载于:https://www.cnblogs.com/Lianshi/p/6736662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值