·条件语句

笔记:

  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/  欢迎转载 ~

Python-条件语句和循环语句的更多相关文章

  1. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  2. Python条件控制与循环语句

    1. 条件控制 # if-elif-else结构 age = 12 if age < 4: price = 0 elif age < 18: price = 5 else: price = ...

  3. Python条件判断和循环语句

    一.条件判断语句 通过一条或多条语句的判断来决定是否执行代码块 1.if语句基本形式: if 判断条件:    语句块 例如: score=75if score>=60:    print &q ...

  4. python基础(4):条件语句与循环语句

    今天我们看看条件语句与循环语句. 预习: 1.使用while循环输出1 2 3 4 5 6 8 9 10 2.求1-100的所有数的和 3.输出 1-100 内的所有奇数 4.输出 1-100 内的所 ...

  5. Python中的条件选择和循环语句

    一.条件选择语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: if condition: block elif condition: block ... ...

  6. 写给.NET开发者的Python教程(三):运算符、条件判断和循环语句

    本节会介绍Python中运算符的用法,以及条件判断和循环语句的使用方法. 运算符 运算符包括算术运算符.赋值运算符.比较运算符.逻辑运算符等内容,大部分用法和C#基本一致,下面我们来看一下: 算数运算 ...

  7. 9、python判断语句与循环语句

    前言:本文主要介绍python判断语句与循环语句,包括if语句.while循环.for循环.range函数. 一.if语句  关键字:if.elif.else,写法如下: # if if 条件: # ...

  8. GO语言的基本语法之变量,常量,条件语句,循环语句

    GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...

  9. Shell脚本的条件控制和循环语句

    条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expre ...

  10. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

随机推荐

  1. java笔记--匿名内部类和静态内部类的理解和使用

    匿名内部类 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3889467.html  "谢谢-- 1.由于局部内部类并不可见 ...

  2. net 4.0+EF6+Sqlite 使用,安装,打包

    开发 1.因为EF不支持Codefirst,开始可以使用SQL来进行开发. 部署安装 2.然后可以找到SQL转Sqlite工具(http://www.cnblogs.com/walkingp/arch ...

  3. sort、sorted、heapq、bisect排序

    aa=[1,2,8,7,0,13,28,3]sorted(aa) #原list不变,从小到大排序 aa.sort() #改变原lisaa.sort(reverse=True) #反转 for i in ...

  4. 搭建企业级全网数据定时备份方案[cron + rsync]2

    1.1.1. rsync服务注意的问题 1.服务端 path=/backup/     -->带/ 2.客户端 rsync -avz /tmp/ rsync_backup@192.168.25. ...

  5. Linux 下Discuz论坛的搭建

    Discuz论坛的搭建[基于LNMP环境搭建成功后] ##创建BBS数据库在本地/远程服务器 mysql -uroot -proot create database bbs; show databas ...

  6. xsd文件记录

    <MESSAGE Version="1.0"> <CV_HEADER MsgType=" /> <QUERY_PROFILE> < ...

  7. 深入浅出SharePoint2010——请假系统无代码篇之数据框架设计

    文档库SOP:上传用户操作手册等系统相关文档. 员工信息列表EmployeeInfo:用来存储员工基本信息.直属领导和假卡信息. 请假申请列表LeaveRequest:申请人Requester填写请假 ...

  8. 密码加密MD5,Bash64

    基于jar : org.apache.commons.codec 一.MD5概述:不可逆加密 Message Digest Algorithm MD5(中文名为消息摘要算法第 五版)为计算机安全领域广 ...

  9. Git打Tag相关操作

    一.打标签 git tag -a 0.1.3 -m “Release version 0.1.3″ 详解: git tag 是命令 -a 0.1.3是增加 名为0.1.3的标签 -m 后面跟着的是标签 ...

  10. SpringBoot实战(一)之构建RestFul风格

    RestFul风格是一种非常流行的架构风格,相关实战可以参考我的这篇博客:SSM框架之RestFul示例 论文可参考:https://www.ics.uci.edu/~fielding/pubs/di ...