if – else
条件判断
条件判断是什么?
条件判断,就是 判断一个条件是真还是假。
条件是什么? 条件就是 一个陈述句。
比如说: 太阳从东边出来, 太阳比地球大…
对于一个条件而言,判断的结果只可能是真,或者是假。
在 Python 里面真假的表示。
True | 真 |
---|---|
False | 假 |
编程的本质就是:
将 我们头脑中的思维逻辑使用编程语言翻译给计算机去听,然后让计算机代替我们人类去工作。
因此编程分为两步
第一步: 组织好自己的思维逻辑。
第二步:用编程语言翻译自己的思维逻辑给计算机听。
在我们日常生活中,经常会有这样的一个判断。 如果… 条件是成立的,就做…; 反之,就做…。
或者 如果 …条件1是成立的,就做…;如果…条件2是成立的,就做…;如果…条件3是成立的,我们就做…。
比如说,如果你考试分数60分,那么你就及格了,反之就是没有及格。
比如说,如果你考试分数有80多分,那么你就是优秀的,如果你只有70分,那么你及格了,如果你只有 40分,那么你就没有及格。
在 Python 里面进行条件判断是使用 if-else 或者 是 if-elif-else 的 组合来实现的。
代码 | 解释 |
---|---|
if | 如果 |
else | 否则 |
elif | else if 的缩写,否则但如果 |
if — else 结构:
if <condition>:
<代码1>
else:
<代码2>
if – elif — else 结构:
if <condition 1>:
<代码1>
elif <condition 2>:
<代码2>
...(n) 个 elif
else:
<代码 n+3>
在Python 里面 使用 条件 是 使用 表达式来替换的。 表达式 我们在 前面的课程就已经提到过一次了。这里再说一些和 判断有关的表达式。
和运算表达式类似,只不过 判断表达式 只 返回 True 或者是 假。
例如判断两个数字之间的关系有哪些 运算符呢?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HVeyGP8e-1596762550147)(C:\Users\gz\Desktop\长沙医学院\img\运算符.png)]
这里呢,我先不全部介绍,只介绍用于 判断的,然后目前用的到的,还有一些 运算符,我们在 使用的时候,再去介绍,其实,你们也不用全部记住这些运算符的使用方式。目前我只是简单提一些 我们常用的 运算符。
让我们来看一个小小的例子。
判断一个人的成绩是否及格,而及格的标准就是分数是否大于等于 60 。
那么我们的思维逻辑是什么? 就是下面这样的
如果 分数大于等于60
恭喜你及格了
否则
很可惜你没有及格
那么 使用 Python 来进行翻译的话,就是下面这样的。
score = 100
if score >= 60:
print("^_^ ^_^....")
print("恭喜你及格了, 离毕业又进了一步!!!")
print("^_^ ^_^....")
else:
print("V_V V_V....")
print("很遗憾您没有及格,需要补考!!!")
print("V_V V_V....")
一个题目:
判断这个人的成绩是否为 优秀。 判断标准,分数大于等于80。你们可以思考一下。
让我们来 玩一下这个代码,有时候,我们需要多多的尝试。故意错误,这样自己再遇到错误的时候,会有一个 很快的反应。
玩代码 环节。
- 把else 整个删除。
- 把 if 删除掉。
- 把if或者是 else 里面的 代码 全部删除掉。
- 忘记敲一个 冒号。
- if 里面的表示式去掉。
- else 里面加入一个表达式。 --> 引出 elif
其实 if – else 的标准用法为:
else 可以没有,但是 if 一定要有。 这里需要注意, if 和 else 里面的代码快只会执行一个,执行 代码1, 就不会执行代码2了。
有一个程序员才懂得梗。
世界上最遥远的距离是,你在 if 里,我在 else 里,似乎一直相伴却永远分离。
刚刚提到了,想要在 else 里面加一个表达式,其实是 有 一个办法的,那就是使用 elif 这个是 else if 的缩写。
现在改变我们的 任务了,根据一个人的成绩判断是 及格还是优秀,还是不及格。 大于等于60分,为及格,大于等于80分为优秀,小于60分的为不及格。
那么我们的思维逻辑可能就是
如果 分数 大于等于 60
及格
否则但如果 分数大于等于 80
优秀
否则
不及格
让我们在用 Python 翻译一下。
score = 60
if score >= 60:
print("^_^ ^_^....")
print("恭喜你及格了, 离毕业又进了一步!!!")
print("^_^ ^_^....")
elif score >= 80:
print("^_^ ^_^....")
print("恭喜你成绩是优秀, 离奖学金又进了一步!!!")
print("^_^ ^_^....")
else:
print("V_V V_V....")
print("很遗憾您没有及格,需要补考!!!")
print("V_V V_V....")
思考一下,为什么,python 有问题了???怎么和我想的不一样?
说明 if-elif - elif 中的 顺序…
改一下:
score = 80
if score >= 80:
print("^_^ ^_^....")
print("恭喜你是优秀, 离奖学金又进了一步!!!")
print("^_^ ^_^....")
elif score >= 60:
print("^_^ ^_^....")
print("恭喜你及格了, 离毕业又进了一步!!!")
print("^_^ ^_^....")
else:
print("V_V V_V....")
print("很遗憾您没有及格,需要补考!!!")
print("V_V V_V....")
开启 玩代码:
- elif 和 else 交换顺序
- 把elif 中的 if 去掉
- elif 里面不写表达式
- 直接去掉 else
- 再 多加一个 elif 判断成绩为 良
然后我们只有这一种解决办法吗?
但是我们统计成绩的时候,可能就是先看看有多少人及格,然后再看看 有哪些人是优秀对吧。
但是这个样的话,正确的思维逻辑应该是:
如果 分数 大于等于 60
如果 分数 大于等于80
优秀
否则
及格
否则
不及格
翻译一下 代码:
score = 70
if score >= 60:
if score >= 80:
print("^_^ ^_^....")
print("恭喜你是优秀, 离奖学金又进了一步!!!")
print("^_^ ^_^....")
else:
print("^_^ ^_^....")
print("恭喜你及格了, 离毕业又进了一步!!!")
print("^_^ ^_^....")
else:
print("V_V V_V....")
print("很遗憾您没有及格,需要补考!!!")
print("V_V V_V....")
我们这个 也是可以嵌套的。。。 你可以 嵌套在 if 里面,也可以在 elif 里面,也可以在 else 里面, 都是可以的。 可以嵌套很多很多层。
print("^_^ ^_^....")
else:
print("^_^ ^_^....")
print("恭喜你及格了, 离毕业又进了一步!!!")
print("^_^ ^_^....")
else:
print(“V_V V_V…”)
print(“很遗憾您没有及格,需要补考!!!”)
print(“V_V V_V…”)
我们这个 也是可以嵌套的。。。 你可以 嵌套在 if 里面,也可以在 elif 里面,也可以在 else 里面, 都是可以的。 可以嵌套很多很多层。
但是最好不要特别多,不美观,不好阅读。