前言

本文主要介绍控制流程中的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. Spring提供的API实现文件上传

    Spring为我们提供了文件上传接口MultipartRequest及其实现类StandardMultipartFile StandardMultipartFile是StandardMultipart ...

  2. BTDetect用户手册和技术支持

    BTDetect用户手册和技术支持 1. 程序主要功能 BTDetect是BT(BioTechnology) Detect 生物科技检测的缩写.本程序将根据用户的回答推断其两大基因类型.以及具体的小分 ...

  3. 不止跑路,拯救误操作rm -rf /*的小伙儿

    摘要:误执行了 rm -rf /* 之后,除了跑路还能怎么办? 本文分享自华为云社区<拯救被 rm -rf 伤到的小伙>,作者:Gauss 松鼠会. 灵魂画师再次上线   在开饭前我们先了 ...

  4. LuoguP4219 [BJOI2014]大融合(LCT)

    早上考试想用\(LCT\)维护联通块\(size\),现在才发现\(LCT\)的\(size\)有虚实之分 \(Link\)与\(Acess\)中虚实变,干他丫的 \(Splay\)中只是相对关系,没 ...

  5. LuoguP1456 Monkey King (左偏树)

    struct LeftTree{ int l,r,val,dis; }t[N]; int fa[N]; inline int Find(int x){ return x == fa[x] ? x : ...

  6. Spring源码 06 IOC refresh方法1

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  7. pre 预格式化文本标签

    预格式化指的是保留文本在源代码中的格式,页面中显示的和源代码中的效果完全一致.例如,原封不动地保留文本中的空白.空格.制表符等. 除非使用<pre/>标签包裹的文本,否则,浏览器不显示和源 ...

  8. Python自学教程12-类和对象怎么用

    Python是一门现代化的编程语言,也是一门面向对象的编程语言. 现代编程语言几乎都支持面向对象编程,面向对象编程是最有效的软件编写方法之一.你可以用类和对象来表示现实当中的任何的事物和行为. 编写类 ...

  9. STC15 串口通信

    串口1选择定时器2产生波特率 串口1相关寄存器 1.选择串口1所放的管脚 2.串口1配置步骤 3.选择串口工作模式 4.确定定时器2工作速度 代码配置 void Uart1_Tim2_Config(i ...

  10. Arrays.asList()你真的知道怎么用吗?

    发现问题 前几天在看别人的项目的时候,发现一个问题,简单复现一下这个问题 // 注意这是一个Integer对象的数组哦 Integer[] arr = new Integer[]{9999,88,77 ...