Python条件语句和循环语句

2018-11-20 03:26:16来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

·条件语句

笔记:

  If  布尔值:

    print(‘hello,world!’)

当表达式为布尔表达式时,Flase   None  0   ””    ()    []    {} 都视为

 

@ if-else 语句


 当if语句成立,运行if语句后缩进的代码,如果if语句不成立,则运行else语句后缩进的代码。

name = input("What is your name?")
if name.endswith('jimmy'):  #当输入为Jimmy时,表达式为真,否者为假。
    print('hello,{}'.format(name))
else:                       #当输入为其他时,if语句为假,才会运行else语句。
    print('None')

当输入为jimmy时,条件语句成立:

What is your name?jimmy
hello,jimmy

当输入为其他值时,条件语句不成立:

What is your name?tom
None

 

@ elif 语句


创建一个成绩等级查询系统,当用户输入成绩时,可以看到成绩对应等级:

score = int(input("请输入你的成绩:"))
if score >= 90: 
    print('优秀')
if score >= 80:
    print('良好')
if score >= 70:
    print('一般')
if score >= 60:
    print('及格')
if score < 60:
    print('不及格')
打印结果:
请输入你的成绩:80
良好
一般
及格

运行过程中发现:if语句逐条判断,当输入成绩80时,满足前中间3个if语句,程序打印了3个输出结果,显然不满足要求。

接着来修改程序,把if语句替换成elif后:

score = int(input("请输入你的成绩:"))
if score >= 90: 
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('一般')
elif score >= 60:
    print('及格')
elif score < 60:
    print('不及格')
打印结果:
请输入你的成绩:80
良好

再次输入成绩80,第一条语句判断不成立,接着往下执行,只要有一个elif成立时,就不再判断后面的elif语句。

 

@ assert 断言


正常的分数值在0-100之间,以上程序当输入大于100或者小于0时程序还能照常运行,下面使用断言法来限定分数的范围:

score = int(input("请输入你的成绩:"))
assert score <= 100 and score >= 0,'请输入0-100之间的成绩'
if score >= 90: 
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('一般')
elif score >= 60:
    print('及格')
elif score < 60:
    print('不及格')
打印结果:
请输入你的成绩:-1
Traceback (most recent call last):
  File "test1.py", line 3, in <module>
    assert score <= 100 and score >= 0,'请输入0-100之间的成绩'
AssertionError: 请输入0-100之间的成绩
请输入你的成绩:101

Traceback (most recent call last):
  File "test1.py", line 3, in <module>
    assert score <= 100 and score >= 0,'请输入0-100之间的成绩'
AssertionError: 请输入0-100之间的成绩

请输入你的成绩:80
良好

 

·循环语句

 
 笔记:
  while 布尔值:
    表达式

@ while循环语句:


 要让以上的查询系统满足多次查询的条件,需要继续优化代码,使用while语句:

while True:
    score = int(input("请输入你的成绩:"))
    assert score <= 100 and score >= 0,'请输入0-100之间的成绩'
    if score >= 90: 
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 70:
        print('一般')
    elif score >= 60:
        print('及格')
    elif score < 60:
        print('不及格')

这样就可以实现多次查询成绩啦,当输入小于0或者大于100的值时,assert断言将起作用。

 

end~

 
****** 几米花的Python ****** 博客主页:https://www.cnblogs.com/jimmy-share/  欢迎转载 ~

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:模块语法

下一篇:python记录day24 模块的语法