前言

本文主要介绍控制流程中的if条件语句,包括if...;if...else...;if...elif...elif...else...;if...if...if...else...;if嵌套等。内容如下:

1、语法:

  if    条件表达式   :

  解释:

  • if:如果,如果程序符合某种条件,就可以做什么样的事情;
  • “:”在python中,遇见“:”时要缩进
  • 条件表达式:用于判断,判断结果为True或者False
    • 比较运算:5>3,a>b等;
    • 成员运算:in/not in,如sun in sunny;
    • 逻辑运算:a>b and c<d,  a>b or a>c等;
    • 判断结果为False的情况:数字0,空字符串,空列表,空字典等。

2、if...

  输入:a的值为5,b的值为2,if判断5>2结果为True,程序执行 print(f"{a}大于{b}")

1 a = int(input("请输入a的值"))
2 b = int(input("请输入b的值"))
3 if a>b:
4 print(f"{a}大于{b}")

输出结果:

  5大于2

3、if...else...

  与上面的if语句有一点点的差别,多了一个else(否则)。当if条件不成立时,执行else。

  输入:a的值为5,b的值为6,if判断5>6结果为False,程序执行 print(f"{a}小于{b}")

a = int(input("请输入a的值"))
b = int(input("请输入b的值"))
if a>b:
print(f"{a}大于{b}")
else:
  print(f"{a}小于{b}")

输出结果:5小于6

4、完整的if表达式 if...elif...elif...elif...else...

  这样的if条件语句表达式中,程序只会执行一个分支的代码,剩下的条件都不会判断。

输入a的分数为20,程序会从a<60开始判断,结果为True,执行print(f"你的分数为:{a},评价为不及格"),下面其他的分支的都不会执行;输入a的值为67,程序还是会从a<60开始判断,结果为False,然后继续判断60<=a<70这个条件是否成立,结果为True,执行print(f"你的分数为:{a},评价为D")

a = int(input("请输入你的分数"))
if a<60:
print(f"你的分数为:{a},评价为不及格")
elif 60<=a<70:
print(f"你的分数为:{a},评价为D")
elif 70<=a<80:
print(f"你的分数为:{a},评价为C")
elif 80 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")

5、if...if...if...else...

  这种情况是多个if条件,程序会从第一个if开始判断。

输入分数a为30,则会判断a<60是否成立,成立时执行print(f"你的分数为:{a},评价为不及格"),然后判断50<=a<70是否成立...直到程序最后

a = int(input("请输入你的分数"))
if a<60:
print(f"你的分数为:{a},评价为不及格")
if 50<=a<70:
print(f"你的分数为:{a},评价为D")
if 30<=a<80:
print(f"你的分数为:{a},评价为C")
if 40 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")

输出结果:

  请输入你的分数30
  你的分数为:30,评价为不及格
  你的分数为:30,评价为C
  你的分数为:30,评价为A

注意:else与同级且最近的if配对,也就是说上面的例子中,a-30在判断40<=a<90这里是不成立的,然后还要判断40<=a<90范围外的情况,即0<=a<40,这是成立的,输出

if 40 <= a < 90:
print(f"你的分数为:{a},评价为B")
else:
print(f"你的分数为:{a},评价为A")

6、if嵌套

if嵌套就是说在某个条件后,继续进行细分判断,如下所示:

输入分数90

a = int(input("请输入你的分数"))
if 0<a<60:
print(f"你的分数为:{a},评价为不及格")
if 60<=a<100:
# print(f"你的分数为:{a},评价为及格")
if 60<=a<80:
print(f"你的分数为:{a},评价为及格,等级为差")
elif 80<=a<90:
print(f"你的分数为:{a},评价为及格,等级为中")
else:
print(f"你的分数为:{a},评价为及格,等级为优")
else:
print("你美哟,分数为0")

执行结果:

  你的分数为:90,评价为及格,等级为优

if可以不用和else配对,也可以不和elif配对。

python基础之if条件控制语句的更多相关文章

  1. Python基础2:流程控制语句 while / for循环

    [ while 循环 ] 如果要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+ ...

  2. Python基础教程,流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 很多人学习python,不知道从何学起.很多人学习pyth ...

  3. python基础-编码_if条件判断

    一.第一句Python代码 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: [root@python-3 scripts]# cat hello.py #!/usr/bin/ ...

  4. 2015/9/5 Python基础(9):条件和循环

    条件语句Python中的if语句如下: if expression: expr_true_suite 其中expression可以用布尔操作符and, or 和 not实现多重判断条件.如果一个复合语 ...

  5. Python基础:06条件和循环

    1:条件表达式(三元操作符) Python 在很长的一段时间里没有条件表达式(C ? X : Y), 或称三元运算符.人们试着用 and 和 or 来模拟它, 但大多都是错误的. 根据 FAQ , 正 ...

  6. python 基础二-----数据类型和控制语句

    一.数据类型: 1)数据类型 1.整数(int) 2.浮点数(float) 3.字符串(string) 4.列表(list) 5. 元组(tuple) 6.字典(dict): key和value是一一 ...

  7. python 流程控制(条件语句)

    1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...

  8. python基础之条件循环语句

    前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语 ...

  9. Python基础——条件判断

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 到目前为止,Python基础系列的文章中的程序都是一条一条语句顺序执行的.在本章中,我会重点介绍让程序选择是否执行语 ...

随机推荐

  1. 用固态U盘让你的办公环境随身移动

    有些人因为家中的电脑设备没有办公环境,或者是软件太多装起来麻烦,以及环境不同步等原因上下班总是背着电脑,其实大可不必,只要将系统装进U盘,就可以让你的办公环境随身移动.在公司时启动U盘系统工作,下班后 ...

  2. Dubbo源码(八) - 负载均衡

    前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡.分摊到多个 ...

  3. Java多线程开发系列之五:Springboot 中异步请求方法的使用

    Springboot 中异步线程的使用在过往的后台开发中,我们往往使用java自带的线程或线程池,来进行异步的调用.这对于效果来说没什么,甚至可以让开发人员对底层的状况更清晰,但是对于代码的易读性和可 ...

  4. 浅谈 Raft 分布式一致性协议|图解 Raft

    前言 本篇文章将模拟一个KV数据读写服务,从提供单一节点读写服务,到结合分布式一致性协议(Raft)后,逐步扩展为一个分布式的,满足一致性读写需求的读写服务的过程. 其中将配合引入Raft协议的种种概 ...

  5. 使用 Less 混合(Mixins)时报语法错误

    今天在尝试使用 less 的混合语法时,浏览器直接报了一个语法错误.下图是报错信息: 仔细地阅读了官方文档,和对比自己写的,并没有任何错误. .FlexLayout { .Start() { disp ...

  6. 理解 Flutter 的基础概念:Widget

    Widget 的本意是组件的意思,熟悉 Web 应用开发的人在后期必定会接触到 Vue.React 等框架,这些框架都有一个核心的概念 -- 组件.组件的目的也很简单,那就是重复率用一段代码,并且能够 ...

  7. 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考

    理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年.2008 年左右,Hadoop 成 ...

  8. [CF1526F] Median Queries(交互 / 构造)

    题面 这是一道交互题. 有一个未知的长度为 N \tt N N 的排列 P \tt P P,已知 P 1 < P 2 \tt P_1 < P_2 P1​<P2​ . 每次询问格式为 ...

  9. grep使用常用操作十五条

    grep的全部使用语法参照grep --help,日常工作常用的语法如下:构造数据如下:test001.txt与test002.txt 一.在单个文件中查询指定字符串 grep abc test01/ ...

  10. Helm安装ingress-nginx-4.1.4

    Application version 1.2.1 Chart version 4.1.4 获取chart包 helm fetch ingress-nginx/ingress-nginx --vers ...