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-流程控制-选择结构相关推荐

  1. C#流程控制————选择结构

    1.选择结构--if else if if else if 作用:用来处理多条件的区间性的判断 语法: if(判断条件) { 要执行的代码; }else if(判断条件) { 要执行的代码; } el ...

  2. oracle 创建存储过程_Oracle存储过程编程:流程控制选择结构和循环结构总结

    <大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容. ...

  3. 好好学python·运算符和流程控制

    运算符和流程控制 运算符类型 Python算术运算符 Python比较运算符 Python赋值运算符 Python位运算符 Python逻辑运算符 Python成员运算符 Python身份运算符 Py ...

  4. Python的顺序流程、选择流程、循环流程

    Day04新手小白学python 第四节  Python的顺序流程.选择流程.循环流程 目录 Day04新手小白学python 前言 一.顺序流程 二.选择流程 1.单分支 2.双分支 3.多分支 4 ...

  5. Python基础之:Python中的流程控制

    文章目录 简介 while语句 if 语句 for语句 Break Continue pass 简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太 ...

  6. JavaScript入门(part7)--流程控制

    学习笔记,仅供参考,有错必纠 参考自:pink老师教案 文章目录 JavaScript入门 流程控制 流程控制概念 顺序流程控制 分支流程控制 三元表达式 switch分支流程控制 for循环 双重f ...

  7. 【Java从入门到天黑|03】JavaSE入门之流程控制

    大家好,我是孙叫兽,本期内容给大家分享一下JavaSE入门之流程控制. 用户交互Scanner 1.Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样 ...

  8. python和控制流程_Python基础之:Python中的流程控制

    简介 流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样的地方. while语句 python中的while语句和其他语言没有什么不一样,我使用wh ...

  9. python if else格式_【Python基础】流程控制-if..else

    [Python基础]流程控制-if..else ''' 基本的使用 if 条件: 满足条件执行的代码 else: 不满足条件执行的代码 ''' # age = input("Please i ...

最新文章

  1. 《全球人工智能发展报告(2018)》发布:一览全球AI领域竞争态势
  2. Jerry的Fiori原创文章合集
  3. linux 书签管理工具,在书签管理工具中使用Ubuntu字体
  4. Sharepoint学习笔记—ECM系列--4 根据位置设置的默认元数据值(Location-Based Metadata Defaults)
  5. java map hashtable_Java的HashMap和HashTable
  6. 用于Ubuntu 16.04和18.04的TensorFlow,Keras,Caffe,Caffe,CUDA,cuDNN和NVIDIA驱动程序的单行安装
  7. 学python有前途吗-Python全栈开发有前景吗,是否值得学习?
  8. DCGAN-深度卷积生成对抗网络-转置卷积
  9. 防范非法用户入侵系统秘籍
  10. 如何给Ubuntu系统清理垃圾
  11. iReport使用入门
  12. 【雅思大作文考官范文】——第十一篇:'homework' essay
  13. MacBook Air响一声白屏故障情况说明及解决
  14. linux查看exif软件,EXIF信息查看器使用教程及功能解析
  15. 抖音短视频运营员工内容工作计划表方案
  16. 宝尚论金:12.21外汇黄金白银原油行情
  17. python爬iptv直播源脚本_GitHub - Good0007/iptv-m3u-maker: IPTV 国内+国外 电视台直播源m3u文件, 收集汇总本地源脚本...
  18. MATLAB运用——多项式插值
  19. 追求稳定的人,终究会被时代淘汰。人生被只顾低头拉车,更要抬头看路。
  20. 《Docker技术入门与实战》——3.8 本章小结

热门文章

  1. 明机器人孔尧是哪里人_明我创始人孔尧:未来办公,始于聚点
  2. 2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!
  3. 自动驾驶LiDAR点云深度学习综述
  4. FusionNet:基于稀疏雷达点云和RGB图像的深度图补全
  5. 【超详细】手把手教你使用YOLOX进行物体检测(附数据集)
  6. RDKit | 基于主成分分析可视化(DrugBank)类药性的化学空间
  7. ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
  8. 生信服务器 | 更改 CentOS/RHEL 6/7 中的时区
  9. 新版本,ggplot2 v3.3.0 新特性来袭
  10. R语言绘制Bump Chart