=score>=90:print("A")if90>score>=80:print("B")if80>score>=60:print("C")if60>score>=0:print("D")ifscor" />

0基础入门学习Python(第4章)

系统 1347 0

第四章,了不起的分支和循环

 

4.1 分支和循环

Python主要依靠缩进来区分代码块

 

4.2 快速上手

成绩按照分数来划分等级,90分以上为A,80~90 为B,60~80 为C,60以下为D

p4_1.py

            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
            
            (
            
              "
            
            
              输入错误!
            
            
              "
            
            )
          

p4_2.py

            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
            
            (
            
              "
            
            
              输入错误!
            
            
              "
            
            )
          

p4_3.py

            score = int(input(
            
              "
            
            
              请输入您的分数:
            
            
              "
            
            
              ))


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

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

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

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

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

 

分析:

p4_1.py中,假设输入的是98,程序第一次成立,打印A,不过程序还为结束,需要继续对后面的四个条件进行判断,直到所有的条件不符合,最后才退出程序。

虽然简单的例子,但就输入的测试数据来说,假设每一次判断都会消耗一个CPU时间,那么程序p4_1.py 的代码要比其余的程序多耗费400%的CPU资源。

4.3 避免悬挂else问题

使用Python开发没有这方面的考虑

            age = 20
            
              
score 
            
            = 
            
              "
            
            
              A
            
            
              "
            
            
              if
            
             age < 18
            
              :
    
            
            
              if
            
             score == 
            
              "
            
            
              A
            
            
              "
            
            
              :
        
            
            
              print
            
            (
            
              "
            
            
              恭喜你,获得青少年一等奖!
            
            
              "
            
            
              )

            
            
              else
            
            
              :
    
            
            
              print
            
            (
            
              "
            
            
              抱歉,本活动只限于小于18周岁的青少年参与。
            
            
              "
            
            )
          

 

4.4 条件表达的三元素

>>> x = 5
>>> y = 4
>>> if x < y:
... small = x
... else:
... small = y
...
>>> small
4
>>>

三元操作符

a = x 条件 else y

表示当条件为true的时候,a被赋值为x,否则被赋值为y

>>> x = 5
>>> y = 4
>>> small = x if x < y else y
>>> small
4
>>>

 

            score = int(input(
            
              "
            
            
              请您输入一个数字:
            
            
              "
            
            
              ))

level 
            
            =
            
               0

            
            
              if
            
             100 >= score >= 90
            
              :
    level 
            
            = 
            
              '
            
            
              A
            
            
              '
            
            
              elif
            
             90 > score >= 80
            
              :
    level 
            
            = 
            
              '
            
            
              B
            
            
              '
            
            
              elif
            
             80 > score >= 60
            
              :
    level 
            
            = 
            
              '
            
            
              C
            
            
              '
            
            
              elif
            
             60 > score >=
            
               0:
    level 
            
            = 
            
              '
            
            
              D
            
            
              '
            
            
              else
            
            
              :
    
            
            
              print
            
            (
            
              "
            
            
              输入错误!
            
            
              "
            
            
              )


            
            
              print
            
            (level)
          

如果使用三元操作符实现

            score = int(input(
            
              "
            
            
              请您输入一个数字:
            
            
              "
            
            
              ))

level 
            
            =
            
               0

level 
            
            = 
            
              '
            
            
              A
            
            
              '
            
            
              if
            
             100 >= score >= 90 
            
              else
            
            
              '
            
            
              B
            
            
              '
            
            
              if
            
             90 > score >= 80 
            
              else
            
            
              '
            
            
              C
            
            
              '
            
            
              if
            
             80 > score >= 60 
            
              else
            
            
              '
            
            
              D
            
            
              '
            
            
              if
            
             60 > score >=0 
            
              else
            
            
              print
            
            (
            
              "
            
            
              输入错误!
            
            
              "
            
            
              )


            
            
              print
            
            (level)
          

 4.5 断言

断言的语法语法其实有点像if条件的分支语句,一般在程序调试的时候,使用

>>> assert 3 < 4
>>> assert 3 > 4
Traceback (most recent call last):
File " ", line 1, in
AssertionError
>>>

 

4.6 while循环语句

语法:

while 条件:

  循环体

            i = 1
            
              
sum 
            
            =
            
               0


            
            
              while
            
             i <= 100
            
              :
    sum 
            
            +=
            
               i
    i 
            
            += 1

            
              print
            
            (sum)
          

 

4.7 for 循环语句

语法:

for 变量 in 可迭代对象:

  循环体

            sum =
            
               0

            
            
              for
            
             i 
            
              in
            
             range(101
            
              ):
    sum 
            
            +=
            
               i;
    i 
            
            += 1

            
              print
            
            (sum)
          

range() 是一个BIF,它可以为指定的整数生成一个数字序列,语法如下:

range(stop)

range(start,stop)

range(start,stop,step)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> list(range(0,10,2))
[0, 2, 4, 6, 8]
>>> list(range(0,-10,-2))
[0, -2, -4, -6, -8]

 

4.8 break 语句

break语句终止当前循环,跳出循环体

            bingo = 
            
              "
            
            
              清蒸
            
            
              "
            
            
              
answer 
            
            = input(
            
              "
            
            
              小甲鱼是清蒸好吃还是炖了好吃?
            
            
              "
            
            
              )


            
            
              while
            
            
               True:
    
            
            
              if
            
             answer ==
            
               bingo:
        
            
            
              break
            
            
              
    answer 
            
            = input(
            
              "
            
            
              抱歉,请重新输入。
            
            
              "
            
            
              )

            
            
              print
            
            (
            
              "
            
            
              对吗,只有清蒸才原汁原味。
            
            
              "
            
            )
          

打印2018年之后出现的第一个闰年

(当年月份可以被4整除,且不能被100整除,或者可以被400整除,该年为闰年)

            
              for
            
             year 
            
              in
            
             range(2018,2100
            
              ):
    
            
            
              if
            
             (year % 4 == 0) 
            
              and
            
             (year % 100 != 0) 
            
              or
            
             (year % 400 ==
            
               0):
        
            
            
              break
            
            
              print
            
            (
            
              "
            
            
              2018年之后出现的第一个润年是
            
            
              "
            
            , year)
          

 

4.9 continue 语句

跳出本轮循环,进行下一轮循环

如果要打印2018年到2100年之间的年份

            
              for
            
             year 
            
              in
            
             range(2018,2050
            
              ):
    
            
            
              if
            
             (year % 4 == 0) 
            
              and
            
             (year % 100 != 0) 
            
              or
            
             (year % 400 ==
            
               0):
        
            
            
              print
            
            
              (year)
        
            
            
              continue
            
          

2020
2024
2028
2032
2036
2040
2044
2048

 

4.10 else语句

 

while 条件:

  循环体

else:

  条件不成立时执行的内容

 

for 变量 in 可迭代对象:

  循环体

else:

  条件不成立可执行的内容

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论