注意

本篇图片素材都来自慕课网,因为素材过于优秀,直接拿过来了,加水印只是为了防止整篇文章被搬

前言

程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构

最简单的分支结构

对条件进行判断:

  • 如果条件为真,执行“条件为真的分支”
  • 如果条件为假,执行“条件为假的分支”

if ... else ... 语句

Python 提供了 if 条件控制语句用于选择执行流程

if 条件:
条件为真的分支
else:
条件为假的分支

可以选择不带 else 分支

if 条件:
条件为真的分支

代码栗子一

# 栗子一
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false') # 输出结果
2 > 1 is true

代码栗子二

# 栗子二
lis = [1, 2, 3, 4]
if len(lis) > 5:
print('列表长度大于 5')
else:
print('列表长度小于 5') # 输出结果
列表长度小于 5

代码栗子三

if 1 == 1:
print('1 == 1 is true') # 输出结果
1 == 1 is true

多分支选择结构

对多个条件进行判断:

  • 如果条件 1 为真,则执行代码块 1
  • 如果条件 2 为真,则执行代码块 2
  • 如果条件 3 为真,则执行代码块 3
  • 如果以上条件都不满足,则执行代码块 4

if ... elif .. elif .. else .. 语句

if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3
else:
代码块 4

不带 else 分支

if 条件 1:
代码块 1
elif 条件 2:
代码块 2
elif 条件 3:
代码块 3

代码栗子

# 栗子一
from random import randint res = randint(0, 4)
if res == 0:
print('num is 0', res)
elif res == 1:
print('num is 1', res)
elif res == 2:
print('num is 2', res)
elif res == 3:
print('num is 3', res)
else:
print('num is 4', res) # 输出结果
num is 2 2

randint 是返回随机整数

分支嵌套结构

程序首先判断条件 1 是否为真

如果条件 1 为真,则判断条件 2 是否为真

  • 条件 1 为真并且条件 2 为真,执行代码块 1
  • 条件 1 为真并且条件 2 为假,执行代码块 2

如果条件 1 为假,则判断条件 3 是否为真

  • 条件 1 为假并且条件 3 为真,执行代码块 3
  • 条件 1 为假并且条件 3 为假,执行代码块 4

代码栗子

# 分支嵌套结构
from random import randint res1 = randint(0, 1)
res2 = randint(0, 1)
if res1 == 0:
if res2 != 0:
print("0,1")
else:
print("0,0")
else:
if res2 > 0:
print("1,1")
else:
print("1,0") # 输出结果
1,0

扩展:random 模块详解

https://www.cnblogs.com/poloyy/p/14845553.html

Python - if 条件控制的更多相关文章

  1. 产品经理学Python:条件控制

    条件控制其实就是if...else...(如果...条件是成立的,就做...:反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login(): # 定义函数 p ...

  2. Python的条件控制及循环

    一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ...

  3. python学习 条件控制

    if - else  if 条件a : 内容a else : 内容 非a if - elif - else  if 条件a : 内容a elif 条件b: 内容b-a else : 内容 非(a∪b) ...

  4. Python3.5入门学习记录-条件控制

    Python的条件控制同C#一样,都是通过一条或多条语句的执行结果(True OR False)来决定执行的代码块. if 语句 Python中if语句的一般形式如下所示: if condition_ ...

  5. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  6. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  7. python条件控制

    条件控制 现在我们写这样一个程序:在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了 my_age = 24 user_in ...

  8. python字典和条件控制

    元组tuple 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 注意单个tuple元素的时候,元素后面要加",",否则python解析器不会识 ...

  9. Python 条件控制

    Python  条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语 ...

随机推荐

  1. spring boot使用@Async异步注解

    1.java的大部分接口的方法都是串行执行的,但是有些业务场景是不需要同步返回结果的,可以把结果直接返回,具体业务异步执行,也有些业务接口是需要并行获取数据,最后把数据聚合在统一返回给前端. 通常我们 ...

  2. Spring Boot WebFlux-02——WebFlux Web CRUD 实践

    第02课:WebFlux Web CRUD 实践 上一篇基于功能性端点去创建一个简单服务,实现了 Hello.这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD We ...

  3. starter自动转配流程以及@Import注解使用

    本文主要内容包括三个部分,第一部分主要介绍@Import注解的三种使用方法,第二部分主要介绍自定义starter的两种形式,第三部分主要介绍Springboot自动装配Bean的大致流程,第四部分主要 ...

  4. csps前小结

    冒着题没改完颓废被发现的风险来写博客 好像离csps只剩两天了,然而没啥感觉 最近考试有时考得还算可以,有时也会很炸 今天考试事实上心态啥崩,因为T1结论题一直没思路,想了一个小时连暴力都没打 过了一 ...

  5. 【题解】P2854 [USACO06DEC]牛的过山车Cow Roller Coaster

    P2854 [USACO06DEC]牛的过山车Cow Roller Coaster 题目描述 The cows are building a roller coaster! They want you ...

  6. Map类型的Json格式

    示例代码: Map<String, Object> map = new HashMap<>();// boolean 类型 map.put("boolean" ...

  7. 解决SpringMVC重复提交的问题

    方法一:通过重定向采取请求转发的方式完成表单内容的添加会造成内容的重复插入.当向Servlet发送一条增加记录的请求后,servlet首先向数据库增加一条记录,然后又从数据库中查询出所有数据,接着转发 ...

  8. Func委托与表达式树Expression

    最近在写ORM框架,其中遇到一个难点,就是作为框架调用方如何将查询条件传入框架内.其中就用到了Expression. Func委托 要Expression先要了解Func委托,Func委托的样式是: ...

  9. 手把手教你实现一个支持插件化的 uTools 工具箱(一)

    前言 对于前端同学来说,我们会经常用到各种小工具,比如:图床.颜色拾取.二维码生成器.url 管理.文本比对.json 格式化.当然我们可以 chrome 收藏夹来管理各种在线的小工具,但作为一个有追 ...

  10. Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...