[Python3] 018 if:我终于从分支中走出来了
0. 谁是主角
- 分支是主角
- 我前面几篇随笔提到 if 不下2次,是时候说一说 if 了
1. 从三大结构说起
(1) 顺序
- 顾名思义,就是自上而下,顺序执行
(2) 分支
1) 分支的基本语法
if 条件表达式:
语句1
语句2
语句3
...
- 条件表达式就是计算结果(或本身)必须为布尔值的表达式;布尔值:非真即假
- 表达式后面的冒号不能少
- if 下面的语句,如果属于 if 语句块,则必须使用同一缩进;当然语句中也可以有自己的缩进层级
- 条件表达式结果为 True 执行 if 下面属于 if 缩进的语句块
少废话,上例子
# 例1
age = 17
if age < 18:
print("孩子,来这里的都是成年人!")
print("等你成年了再来!")
print("再等一年吧!")
- 运行结果
孩子,来这里的都是成年人!
等你成年了再来!
再等一年吧!
# 例2
age = 19
if age < 18:
print("孩子,来这里的都是成年人!")
print("等你成年了再来!")
print("再等一年吧!")
print("孩子,两年了,又见面了。等什么呢?赶紧上车吧!")
- 运行结果
孩子,两年了,又见面了。等什么呢?赶紧上车吧!
# 例3
age = 19
if age < 18:
print("孩子,来这里的都是成年人!")
print("等你成年了再来!")
print("再等一年吧!") # 缩进很重要
print("孩子,两年了,又见面了。等什么呢?赶紧上车吧!")
- 运行结果
再等一年吧!
孩子,两年了,又见面了。等什么呢?赶紧上车吧!
2) 双向分支
if - else 语句
if 条件表达式:
语句1
语句2
...
else:
语句1'
语句2'
...
双向分支有两个分支,当程序执行到 if - else 语句的时候,一定会执行 if 或 else 中的一个
if 和 else 在缩进上是一个层级
补充:input()
- 括号中可以写入字符串,运行时执行到这一句,会在屏幕上显示该字符串
- 括号内的字符串常用于“友情提醒”
- input() 能接受用户输入的内容并返回到程序
- input() 返回的内容一定是字符串类型
# 例4
name = input("What's your name?")
print("Welcome," + name + "!")
- 运行时的截图:
按快捷键运行后出现下图

输入回答后显示为下图

- 运行结果
What's your name?YorkFish
Welcome,YorkFish!
补充完毕,上例子
# 例5
gender = input('Please enter your gender.(just enter "male" or "female")')
print("Your gender is: {0}".format(gender))
if gender == "male": # == 表示判断是否相等,相等为真,否则为假
print("OK, next.")
else:
print("Welcome!")
- 运行时的截图:
按快捷键运行后出现下图

输入回答后显示为下图

- 运行结果
Please enter your gender.(just enter "male" or "female")male
Your gender is: male
OK, next.
# 例6
score = input("Please enter your score: ")
score = int(score) # 需要把 input() 返回的 str 强制转换成 int
if score>=90:
print("A")
if score>= 80 and score<90:
print("B")
if score >= 70 and score<80:
print("C")
if score >=60 and score<70:
print("D")
if score < 60:
print("I’m sorry!")
- 运行时的截图:
按快捷键运行后出现下图

输入回答后显示为下图

- 运行结果
Please enter your score: 90
A
3) 多路分支
超过两路分支的情况,简称多路分支
if 条件表达式1:
语句1
...
elif 条件表达式2:
语句1'
...
elif 条件表达式3:
语句1''
...
...
else:
语句1'''
...
elif 可以有多个
else 可选
与双向分支一样,多路分支只会选一个分支执行
注意缩进层级
少废话,上例子
# 例7
#score = input("Please enter your score: ")
#score = int(score)
score = 90 # 方便起见,直接赋个值
if score>=90:
print("A")
elif score>= 80:
print("B")
elif score >= 70:
print("C")
elif score >=60 :
print("D")
else:
print("I'm sorry!")
- 运行结果
A
注意
- if 可以嵌套使用,但不推荐
- python 没有 switch-case 语句(我知识有限,只知道 C/C++、C#、Java 这些 C-Like 阵营的语言都有 switch-case)
(3) 循环
- 关于循环,可以移步:[Python3] 007 列表的遍历,你是 for 联盟还是 while 部落
[Python3] 018 if:我终于从分支中走出来了的更多相关文章
- Git知识总览(六) Git分支中的远程操作实践
前几篇博客陆陆续续的讲了好多关于Git操作的内容,本篇博客仍然也不例外,不过本篇博客的主题是关于git的远程操作的.依照之前博客的风格,我们依然依托于LearningGitBranch中的相关内容来探 ...
- git:当本地分支中的代码和develop分支上有很多冲突,希望删掉本地分支,重新建立新的分支,怎么解决?
git:当本地分支中的代码和develop分支上有很多冲突,希望删掉本地分支,重新建立新的分支,但是git中说你需要先解决当前的冲突,这种情况怎么解决 这种情况可以在代码编辑器中点击commit,然后 ...
- Git分支中的远程操作实践
Git分支中的远程操作实践 前几篇博客陆陆续续的讲了好多关于Git操作的内容, 其中在上篇博客聊了<Git中的merge.rebase.cherry-pick以及交互式rebase>,本篇 ...
- Git 对比两分支中同一文件
语法 git diff <分支名> <分支名> -- 文件名 git diff branch1 branch2 -- path/file.txt 案例 git diff ori ...
- 将已经存在的项目提交到gitlab的新分支中
将已经存在的项目提交到gitlab中 在gitlab中新增用户jack 登录jack这个git用户,然后创建仓库 mxonline 已经写好了部分功能的项目存放在 D:\>cd D:\pytho ...
- 从零开始学习PYTHON3讲义(七)条件分支和哥德巴赫猜想
<从零开始PYTHON3>第七讲 人生是由无数个选择组成,每个选择都有不同的限定条件.现在来说人生有点早是吧:)不过事实的确是这样的. 程序也充满着选择,满足不同的条件,则运行不同的运算. ...
- python3 使用pip安装(命令行中)失败或 “not a supported wheel” 解决方案!
原因1: 安装的不是对应python版本的库,下载的库名中cp36代表python3.6,其它同理. 原因2:(我遇到的情况----下载的是对应版本的库,然后仍然提示不支持当前平台) 百度了一下,说法 ...
- python3.4用循环往mysql5.7中写数据并输出
#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...
- Python3.0 调用HTMLTestRunner生成的报告中不能显示用例中print函数的输出
官方原生的HTMLTestRunner.py支持python2.0版本,python3.0版本的使用需要做一些修改: Python3调用HTMLTestRunner执行用例生成测试报告中,不能正常显示 ...
随机推荐
- hdu 4638 Group(离线+树状数组)
Group Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu 1059 Dividing bitset 多重背包
bitset做法 #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a ...
- seleniummaster
http://seleniummaster.com/sitecontent/index.php/component/banners/click/6 Step 1: create a Java proj ...
- NOIP模拟赛(by hzwer) T2 小奇的序列
[题目背景] 小奇总是在数学课上思考奇怪的问题. [问题描述] 给定一个长度为 n 的数列,以及 m 次询问,每次给出三个数 l,r 和 P, 询问 (a[l'] + a[l'+1] + ... + ...
- CDMA与OFDM之技术比较
频谱利用率.支持高速率多媒体服务.系统容量.抗多径信道干扰等因素是目前大多数固定宽带无线接入设备商在选择CDMA(码分多址)或OFDM(正交 频分复用)作为点到多点(PMP)的关键技术时的主要出发点. ...
- 【rust】rust安装,运行第一个Rust 程序 (1)
安装 Rust 在 Unix 类系统如 Linux 和 macOS 上,打开终端并输入: curl https://sh.rustup.rs -sSf | sh 回车后安装过程出现如下显示: info ...
- luogu P1162 填涂颜色 x
P1162 填涂颜色 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和 ...
- AGC030F - Permutation and Minimum
https://atcoder.jp/contests/agc030/tasks/agc030_f 题解 我们先把这个排列从\(1 \sim 2n\)表达出来,然后题面中的每一对数我们可以用一条线把他 ...
- Spring Cloud教程(八)云原生应用程序
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样板模式, 使用Spring Clo ...
- Oracle诊断:使用USER_SEGMENTS分配给表的物理空间大小
假设我的SCHEMA的名字是abc, 需要知道在这个SCHEMA下的数据容量,可以通过下面的方式. 1.登录SCHEMA abc 2.使用USER_SEGMENTS查看SCHEMA abc数据容量 S ...