前言

本文主要介绍控制流程中的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. RGBColor类定义

    这个类主要是颜色操作,操作详细原理如下图: 类声明: class RGBColor { public: RGBColor(); ~RGBColor(); RGBColor(ldouble a); RG ...

  2. Python爬虫之xpath语法及案例使用

    Python爬虫之xpath语法及案例使用 ---- 钢铁侠的知识库 2022.08.15 我们在写Python爬虫时,经常需要对网页提取信息,如果用传统正则表达去写会增加很多工作量,此时需要一种对数 ...

  3. Rust实战系列-基本语法

    本文是<Rust in action>学习总结系列的第二部分,更多内容请看已发布文章: 一.Rust实战系列-Rust介绍 " 主要介绍 Rust 的语法.基本类型和数据结构,通 ...

  4. what the difference betweent pin page and lock page ?

    以前在项目中,大家为了避免自己使用的page被换出,使用的方式是mlock,从mlock的实现的看,它限制了page被swap, 然后在一个swap off的系统中,这样其实和mlock调用与否没有关 ...

  5. BeanUtils.copyProperties的使用方法

    BeanUtils.copyProperties的使用方法 1.使用的是springframe包下的,BeanUtils.copyProperties(a,b) 把a属性拷贝给b属性 2.注意事项: ...

  6. Vue刷新页面VueX中数据清空了,怎么重新获取?

    Vue刷新页面VueX数据清空了,怎么重新获取? 点击打开视频讲解更详细 在vue中刷新页面后,vuex中的数据就没有了,这时我们要想使用就要重新获取数据了, 怎么在刷新后重新获取数据呢??? 这时我 ...

  7. 网卡限速工具之WonderShaper

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 什么是WonderShaper 如何安装Wonder ...

  8. FFT/NTT 学习笔记

    0. 前置芝士 基础群论 复数 \(\mathbb C = \mathbb R[x^2+1]\) 则有 \(i^2+1=(-i)^2+1=0\),\(i \in \mathbb C - \mathbb ...

  9. KingbaseES insert all/first 功能介绍

    KingbaseES 内置了对于insert all / first 语法的支持. 一.数据准备 create table t1(product_id number, product_name var ...

  10. 理解 KingbaseES 中的递归查询

    关键字:SQL,CTE,递归查询 概述:通常递归查询是一个有难度的话题,尽管如此,它们仍使您能够完成在 SQL 中无法实现的操作.本文通过示例进行了简单介绍,并展示了与 PL/SQL的递归查询实现的差 ...