·条件语句

笔记:

  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. Python初学者第十七天 函数(1)

    17day 函数 1.函数定义: 函数 是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需调用其函数名即可 2.函数的特性: a 减少重复代码 b 使程序变得可扩展 c 使程序 ...

  2. Java学习---IO操作

    基础知识 1.文件操作 Java语言统一将每个文件都视为一个顺序字节流.每个文件或者结束于一个文件结束标志,或者根据系统维护管理数据中所纪录的具体字节数来终止.当一个文件打开时,一个对象就被创建,同时 ...

  3. December 10th 2016 Week 50th Saturday

    Storms make trees take deeper roots. 风暴使树木深深扎根. Sometimes, you may feel frustrated for failing to wi ...

  4. Maven 阿里源

    由于一些不可抗拒因素,在使用 maven 的时候我们不得不需要改变一些设置,以加快我们的下载速度. ​ 仓库配置 ​ 在maven的settings.xml文件里的mirrors节点,添加如下子节点: ...

  5. 41、Thead线程 System.Thread与互斥体Mutex

    Thead线程 System.Thread 使用Thread类可以创建和控制线程.下面的代码是创建和启动一个新线程的简单例子.Thread 类的构造函数重载为接受ThreadStart和Paramet ...

  6. Foj 2296 Alice and Bob(博弈、搜索)

    Foj 2296 Alice and Bob 题意 两个人博弈,规则如下:轮流取0~9中的数字,最后Alice所得的数字个数为1~n中,数位在Alice所取集合中出现奇数次的. 双方想获得尽量多,问A ...

  7. WinRAR(5.21)-0day漏洞-始末分析

    0x00 前言 上月底,WinRAR 5.21被曝出代码执行漏洞,Vulnerability Lab将此漏洞评为高危级,危险系数定为9(满分为10),与此同时安全研究人员Mohammad Reza E ...

  8. Ping服务

    什么是Ping服务 ping是基于XML_RPC标准协议的更新通告服务,用于博客把内容更新快速通知给百度,以便百度及时进行抓取和更新. Ping服务使用方法 你可以采取手动通知和自动通知两种方式使用p ...

  9. cenos 安装hadoop

    1 创建hadoop用户 2 下载jdk和hadoop安装包 3 在root用户下解压jdk到/usr/java 4 配置JAVA_HOME 编辑/etc/profile,在文件最后添加 # set ...

  10. 【题解】洛谷P1080 [NOIP2012TG] 国王游戏(贪心+高精度)

    次元传送门::洛谷P1080 思路 我们模拟一下只有两个大臣的时候发现 当a1​∗b1​<a2​∗b2​是ans1<ans2 所以我们对所有大臣关于左右手之积进行排序 得到最多钱的大臣就是 ...