15天Python入门-3-流程控制-选择结构
15天Python入门-3-流程控制-选择结构
时代赋能
生命的意义是成为你自己
已关注
1 人赞同了该文章
设想一个场景,你需要控制机器人和顾客打招呼,假设机器人(在大多数情况下)能够判断出顾客的性别,当走来的顾客是男性,机器人说:“先生,您好!”,当走来的顾客是女性,机器人说:“女士,您好!”,如果无法判断性别,机器人说:“顾客,您好!”
显然,这是一个多选一的结构,机器人需要根据性别变量的不同值来执行不同的动作,如果我们自己发明一种语言,可以这样描述这种逻辑
如果(顾客性别 == 男性),说:“先生,您好!”
如果(顾客性别 == 女性),说:“女士,您好!”
如果无法判断性别,说:“顾客,您好!”
然后,说:“我能帮您做什么?”
Python语言与我们日常语言很相似,下面用Python语言来实现以上逻辑
sex = 1 #我们约定1代表男性,2代表女性
if sex == 1:print('先生,您好!')
elif sex == 2:print('女士,您好!')
else:print('顾客,您好!')
print('我能帮您做什么?')
以上代码执行后,机器人说:先生,您好!我能帮您做什么?
看完了上面的例子,我们详细探讨选择结构的两种情况。
- 当选择大于2种时,使用 if-elif-else 形式。执行过程是,依次判断expression的值,如果某个expression == True,则执行缩进的代码,然后执行后续代码。如果所有expression == False,则执行else后面缩进的代码,然后执行后续代码。也就是说所有的statements执行且只执行1个,即多选一。
if expression:statements
elif expression: #elif可以有多个statements
else:statements
后续代码...
- 当选择只有2种时,使用 if-else 形式
if expression:statements
else:statements
后续代码...
【扩展1】pass
如果某个statements是什么也不做,使用pass关键词占位
a = 0
if a == 0:print('警告:a等于0!')
else:pass
后续代码...
有的朋友可能会想,如果else什么都不做,可以省略。
我的建议是:不要省略!
健全的结构可提高程序的可读性。写代码与写其他东西一样,可读性永远是最重要的!如果你或者别人读不懂你写的代码,那真的很糟糕....
【扩展2】缩进
我们观察到,在if、elif、else语句之后的语句,有缩进,缩进表示这些语句隶属于上面的语句,在当前的语境下,是指当某个条件成立时,执行缩进的语句。
缩进既是可读性的要求,也是Python的语法要求。
通常情况下,缩进使用键盘上的tab键。也可以使用固定个数的空格。
【扩展3】嵌套
选择结构可以嵌套,嵌套层数没有限制,但如果超过三层可读性会很差。
if expression:if expression:statementselse:statements
else:if expression:statementselse:statements
后续代码...
15天Python入门-3-流程控制-选择结构相关推荐
- C#流程控制————选择结构
1.选择结构--if else if if else if 作用:用来处理多条件的区间性的判断 语法: if(判断条件) { 要执行的代码; }else if(判断条件) { 要执行的代码; } el ...
- oracle 创建存储过程_Oracle存储过程编程:流程控制选择结构和循环结构总结
<大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容. ...
- 好好学python·运算符和流程控制
运算符和流程控制 运算符类型 Python算术运算符 Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算符 Python身份运算符 Py ...
- Python的顺序流程、选择流程、循环流程
Day04新手小白学python 第四节 Python的顺序流程.选择流程.循环流程 目录 Day04新手小白学python 前言 一.顺序流程 二.选择流程 1.单分支 2.双分支 3.多分支 4 ...
- Python基础之:Python中的流程控制
文章目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太 ...
- JavaScript入门(part7)--流程控制
学习笔记,仅供参考,有错必纠 参考自:pink老师教案 文章目录 JavaScript入门 流程控制 流程控制概念 顺序流程控制 分支流程控制 三元表达式 switch分支流程控制 for循环 双重f ...
- 【Java从入门到天黑|03】JavaSE入门之流程控制
大家好,我是孙叫兽,本期内容给大家分享一下JavaSE入门之流程控制. 用户交互Scanner 1.Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样 ...
- python和控制流程_Python基础之:Python中的流程控制
简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样的地方. while语句 python中的while语句和其他语言没有什么不一样,我使用wh ...
- python if else格式_【Python基础】流程控制-if..else
[Python基础]流程控制-if..else ''' 基本的使用 if 条件: 满足条件执行的代码 else: 不满足条件执行的代码 ''' # age = input("Please i ...
最新文章
- 《全球人工智能发展报告(2018)》发布:一览全球AI领域竞争态势
- Jerry的Fiori原创文章合集
- linux 书签管理工具,在书签管理工具中使用Ubuntu字体
- Sharepoint学习笔记—ECM系列--4 根据位置设置的默认元数据值(Location-Based Metadata Defaults)
- java map hashtable_Java的HashMap和HashTable
- 用于Ubuntu 16.04和18.04的TensorFlow,Keras,Caffe,Caffe,CUDA,cuDNN和NVIDIA驱动程序的单行安装
- 学python有前途吗-Python全栈开发有前景吗,是否值得学习?
- DCGAN-深度卷积生成对抗网络-转置卷积
- 防范非法用户入侵系统秘籍
- 如何给Ubuntu系统清理垃圾
- iReport使用入门
- 【雅思大作文考官范文】——第十一篇:'homework' essay
- MacBook Air响一声白屏故障情况说明及解决
- linux查看exif软件,EXIF信息查看器使用教程及功能解析
- 抖音短视频运营员工内容工作计划表方案
- 宝尚论金:12.21外汇黄金白银原油行情
- python爬iptv直播源脚本_GitHub - Good0007/iptv-m3u-maker: IPTV 国内+国外 电视台直播源m3u文件, 收集汇总本地源脚本...
- MATLAB运用——多项式插值
- 追求稳定的人,终究会被时代淘汰。人生被只顾低头拉车,更要抬头看路。
- 《Docker技术入门与实战》——3.8 本章小结
热门文章
- 明机器人孔尧是哪里人_明我创始人孔尧:未来办公,始于聚点
- 2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!
- 自动驾驶LiDAR点云深度学习综述
- FusionNet:基于稀疏雷达点云和RGB图像的深度图补全
- 【超详细】手把手教你使用YOLOX进行物体检测(附数据集)
- RDKit | 基于主成分分析可视化(DrugBank)类药性的化学空间
- ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
- 生信服务器 | 更改 CentOS/RHEL 6/7 中的时区
- 新版本,ggplot2 v3.3.0 新特性来袭
- R语言绘制Bump Chart