小白学 Python(7):基础流程控制(上)

人生苦短,我选Python
前文传送门
顺序结构
顺序结构是指做一件事情是有顺序性的,按照操作步骤一步一步来完成的。

我们看看糖炒板栗的操作流程是什么:


想自己 DIY 的同学可以参考下面这个链接:
https://home.meishichina.com/recipe-355501.html
你如果没兴趣做,只会吃的话。。。恭喜你和小编一样,成为懒癌晚期病友。。。

什么?你们一定要看代码演示?
那好吧,下面我们来演示一下如何计算长方形的面积:
width = input("请输入长方形的宽:")
height = input("请输入长方形的高:")
area = int(width) * int(height)
print("长方形的面积为:", area)
注意: 这里由键盘直接获得的输入的数据类型是字符串,需要类型转换成 int 类型才能参加计算,如果你想要用小数,那请自行换成 float 。
执行结果如下:

想输入奇奇怪怪的内容的同学请自己面壁去。
分支结构
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
if 语句判断流程如下:

if 语句可以通过判断条件是否成立来决定是否执行某个语句或者某段具体的业务逻辑。
例如:如果我有 200 斤,那我就和加菲猫一样胖。
那不是废话!!!

ok ,话不多说,我们来看一下这个条件判断在 Python 中怎么写。
一言不合就开始写代码,就是这么傲娇:

示例代码如下:
weight = input("请输入当前的体重:")
if float(weight) >= 200:
print("你和加菲猫一样肥!!")
else:
print("你还是很苗条的么!!")
如果这里输入大于等于 200 的数字,那么执行结果是这样的:
请输入当前的体重:300
你和加菲猫一样肥!!
如果小于 200 的数字,那么会是这样的:
请输入当前的体重:50
你还是很苗条的么!!
if-elif-else 判断

上面的示例我们只判断了加菲猫,那么鉴于中间还会有身材比较壮硕的人,比如:

这一身肌肉看的我都直流口水。

同学,醒醒,醒醒,要下课了~~~
想什么呢?这就想下课了,等我先 BB 完,先把示例代码再看一下:
weight = input("请输入您当前的体重:")
if float(weight) >= 200:
print("你和加菲猫一样肥!!")
elif float(weight) >= 100:
print("你的身材真棒!!")
else:
print("有点瘦哦,要多吃肉!!")
我们输入自己的体重:

我知道我的身材好,不用你们一直提醒我。

分支语句嵌套
有时候,分支语句需要嵌套。
洋葱不知道各位吃过没(这个要说没吃过可就过分了啊)。

不知道各位同学对自己的身高是否满意呢?
男性和女性的拥有相同的身高,大家对他们的定义是完全不一样的,才会有什么最萌身高差这种说法:

咳咳,别乱想,你们没有男女朋友,程序员不需要男女朋友,有代码就足够了(求不打我)。

好了,以上这个业务逻辑你会怎么写?
写不来?
好吧,还是我来写给你们看吧:
gender = input("请输入您的性别(M或者F):")
height = input("请输入您的身高:")
if gender == 'M':
if float(height) >= 185:
print("海拔太高了,可能会导致缺氧!!!")
elif float(height) >= 175:
print("男神身高!!!")
else:
print("哥们,该补钙了!!!")
else:
if float(height) >= 175:
print("您可以去当模特了!!!")
elif float(height) >= 165:
print("女神身高,您是一位美丽的女孩子!!!")
else:
print("美女,多晒晒太阳吧!!!")
至于输出结果是什么我就不给大家展示了吧,我怕打击大家自信心,这样就不太好了。

示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
小白学 Python(7):基础流程控制(上)的更多相关文章
- 小白学 Python(8):基础流程控制(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(14):基础数据结构(集合)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- 小白学 Python(5):基础运算符(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- SQL手工注入进阶篇
0.前言 上一篇我们介绍了SQL手工注入的流程以及步骤,但在实际的安全问题以及CTF题目中,查询语句多种多样,而且是肯定会对用户的输入进行一个安全过滤的,而这些过滤并不一定是百分百安全的,如何利用一些 ...
- 树莓派3安装openwrt
1.在编译openwrt之前,需要先安装依赖包,命令如下: sudo apt-get install autoconf binutils bison bzip2 flex gawk gettext m ...
- C++进程间通讯方式
1.剪切板模式. 在MFC里新建两个文本框和两个按钮,点击发送按钮相当于复制文本框1的内容,点击接收按钮相当于粘贴到文本框2内: 发送和接收按钮处功能实现如下: void CClipboard2Dlg ...
- ELK7.3实战安装配置文档
整体架构 一:环境准备 1.环境规划准备 192.168.43.16 jdk,elasticsearch-master ,logstash,kibana 192.168.43.17 jdk,ela ...
- Scala 学习笔记之集合(8) Try和Future
import util._ import concurrent.ExecutionContext.Implicits.global import concurrent.Future import co ...
- 手把手带你利用Ribbon实现客户端的负载均衡
之前的文章<SpringCloud搭建注册中心与服务注册>介绍了注册中心的搭建和服务的注册,本文将介绍下服务消费者通过Ribbon调用服务实现负载均衡的过程. 本文目录 一.Ribbon服 ...
- iOS性能优化-异步绘制
参考地址:https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/ 很久以前就看过这篇文章,但是也只是看过就过了,没有去整 ...
- (7)Cmake的使用简介
CMake是一个跨平台的安装(编译)工具,是一个比Make更高级的的编译配置工具,可以根据不同平台.不同编译器,通过编写CmakeLists,可以控制生成的Makefile,从而控制编译过程. ...
- 将jar包发布到maven的中央仓库细节整理
在学习springboot框架的时候,会引入各种各样的starter依赖,照着教程尝试写了个demo-spring-boot-stater,可以理解为一个组件,随引随用 但是只能自己引用,无法共享,于 ...
- 从0开始学FreeRTOS-(消息队列)-5
## 问题解答 曾经有人问我,FreeRTOS那么多API,到底怎么记住呢? 我想说,其实API不难记,就是有点难找,因为FreeRTOS的API很多都是带参宏,所以跳来跳去的比较麻烦,而且注释也很多 ...