|
| 1 | +<div align="center"> |
| 2 | + <h1> 30天Python学习:第9天 - 条件语句</h1> |
| 3 | + <a class="header-badge" target="_blank" href="https://www.linkedin.com/in/asabeneh/"> |
| 4 | + <img src="https://img.shields.io/badge/style--5eba00.svg?label=LinkedIn&logo=linkedin&style=social"> |
| 5 | + </a> |
| 6 | + <a class="header-badge" target="_blank" href="https://twitter.com/Asabeneh"> |
| 7 | + <img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/asabeneh?style=social"> |
| 8 | + </a> |
| 9 | + |
| 10 | +<sub>作者: |
| 11 | +<a href="https://www.linkedin.com/in/asabeneh/" target="_blank">Asabeneh Yetayeh</a><br> |
| 12 | +<small>第二版:2021 年 7 月</small> |
| 13 | +</sub> |
| 14 | + |
| 15 | +</div> |
| 16 | + |
| 17 | +[<< 第 8 天](../08_Day_Dictionaries/08_dictionaries.md) | [第 10 天 >>](../10_Day_Loops/10_loops.md) |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +- [📘 第 9 天](#-第9天) |
| 22 | + - [条件语句](#条件语句) |
| 23 | + - [If 条件](#if条件) |
| 24 | + - [If Else](#if-else) |
| 25 | + - [If Elif Else](#if-elif-else) |
| 26 | + - [简写](#简写) |
| 27 | + - [嵌套条件](#嵌套条件) |
| 28 | + - [If 条件和逻辑运算符](#if条件和逻辑运算符) |
| 29 | + - [If 和 Or 逻辑运算符](#if和or逻辑运算符) |
| 30 | + - [💻 练习:第 9 天](#-练习第9天) |
| 31 | + - [练习:第一层级](#练习第一层级) |
| 32 | + |
| 33 | +# 📘 第 9 天 |
| 34 | + |
| 35 | +## 条件语句 |
| 36 | + |
| 37 | +默认情况下,Python 脚本中的语句是从上到下顺序执行的。如果处理逻辑需要,可以通过两种方式来改变顺序: |
| 38 | + |
| 39 | +- 条件执行:如果某个表达式为真,则执行一个或多个语句块 |
| 40 | +- 重复执行:只要某个表达式为真,则重复执行一个或多个语句块。在本节中,我们将讨论*if*,_else_,*elif*语句。前面章节中学到的比较运算符和逻辑运算符在这里将派上用场。 |
| 41 | + |
| 42 | +### If 条件 |
| 43 | + |
| 44 | +在 Python 和其他编程语言中,关键字*if*用于检查条件是否为真并执行代码块。请记住冒号后的缩进。 |
| 45 | + |
| 46 | +```py |
| 47 | +# 语法 |
| 48 | +if condition: |
| 49 | + 如果条件为真,则运行此部分代码 |
| 50 | +``` |
| 51 | + |
| 52 | +**示例:1** |
| 53 | + |
| 54 | +```py |
| 55 | +a = 3 |
| 56 | +if a > 0: |
| 57 | + print('A是一个正数') |
| 58 | +# A是一个正数 |
| 59 | +``` |
| 60 | + |
| 61 | +如上例所示,3 大于 0。条件为真,执行代码块。然而,如果条件为假,我们不会看到结果。为了看到假条件的结果,我们应有另一个代码块,即*else*。 |
| 62 | + |
| 63 | +### If Else |
| 64 | + |
| 65 | +如果条件为真,则执行第一个代码块,否则执行*else*条件。 |
| 66 | + |
| 67 | +```py |
| 68 | +# 语法 |
| 69 | +if condition: |
| 70 | + 如果条件为真,则运行此部分代码 |
| 71 | +else: |
| 72 | + 如果条件为假,则运行此部分代码 |
| 73 | +``` |
| 74 | + |
| 75 | +**示例:** |
| 76 | + |
| 77 | +```py |
| 78 | +a = 3 |
| 79 | +if a < 0: |
| 80 | + print('A是一个负数') |
| 81 | +else: |
| 82 | + print('A是一个正数') |
| 83 | +``` |
| 84 | + |
| 85 | +上面的条件为假,因此执行*else*代码块。如果我们的条件超过两个呢?我们可以使用*elif*。 |
| 86 | + |
| 87 | +### If Elif Else |
| 88 | + |
| 89 | +在我们的日常生活中,我们每天都在做决策。我们做出决策不仅仅是检查一个或两个条件,而是多个条件。与生活相似,编程中也充满了条件。当我们有多个条件时,可以使用*elif*。 |
| 90 | + |
| 91 | +```py |
| 92 | +# 语法 |
| 93 | +if condition: |
| 94 | + 代码 |
| 95 | +elif condition: |
| 96 | + 代码 |
| 97 | +else: |
| 98 | + 代码 |
| 99 | + |
| 100 | +``` |
| 101 | + |
| 102 | +**示例:** |
| 103 | + |
| 104 | +```py |
| 105 | +a = 0 |
| 106 | +if a > 0: |
| 107 | + print('A是一个正数') |
| 108 | +elif a < 0: |
| 109 | + print('A是一个负数') |
| 110 | +else: |
| 111 | + print('A是零') |
| 112 | +``` |
| 113 | + |
| 114 | +### 简写 |
| 115 | + |
| 116 | +```py |
| 117 | +# 语法 |
| 118 | +代码 if 条件 else 代码 |
| 119 | +``` |
| 120 | + |
| 121 | +**示例:** |
| 122 | + |
| 123 | +```py |
| 124 | +a = 3 |
| 125 | +print('A是正数') if a > 0 else print('A是负数') # 满足第一个条件,将打印 'A是正数' |
| 126 | +``` |
| 127 | + |
| 128 | +### 嵌套条件 |
| 129 | + |
| 130 | +条件可以嵌套 |
| 131 | + |
| 132 | +```py |
| 133 | +# 语法 |
| 134 | +if 条件: |
| 135 | + 代码 |
| 136 | + if 条件: |
| 137 | + 代码 |
| 138 | +``` |
| 139 | + |
| 140 | +**示例:** |
| 141 | + |
| 142 | +```py |
| 143 | +a = 0 |
| 144 | +if a > 0: |
| 145 | + if a % 2 == 0: |
| 146 | + print('A是一个正数且为偶数') |
| 147 | + else: |
| 148 | + print('A是一个正数') |
| 149 | +elif a == 0: |
| 150 | + print('A是零') |
| 151 | +else: |
| 152 | + print('A是一个负数') |
| 153 | +``` |
| 154 | + |
| 155 | +我们可以使用逻辑运算符*and*来避免编写嵌套条件。 |
| 156 | + |
| 157 | +### If 条件和逻辑运算符 |
| 158 | + |
| 159 | +```py |
| 160 | +# 语法 |
| 161 | +if 条件 and 条件: |
| 162 | + 代码 |
| 163 | +``` |
| 164 | + |
| 165 | +**示例:** |
| 166 | + |
| 167 | +```py |
| 168 | +a = 0 |
| 169 | +if a > 0 and a % 2 == 0: |
| 170 | + print('A是一个正数且为偶数') |
| 171 | +elif a > 0 and a % 2 != 0: |
| 172 | + print('A是一个正数') |
| 173 | +elif a == 0: |
| 174 | + print('A是零') |
| 175 | +else: |
| 176 | + print('A是一个负数') |
| 177 | +``` |
| 178 | + |
| 179 | +### If 和 Or 逻辑运算符 |
| 180 | + |
| 181 | +```py |
| 182 | +# 语法 |
| 183 | +if 条件 or 条件: |
| 184 | + 代码 |
| 185 | +``` |
| 186 | + |
| 187 | +**示例:** |
| 188 | + |
| 189 | +```py |
| 190 | +user = 'James' |
| 191 | +access_level = 3 |
| 192 | +if user == 'admin' or access_level >= 4: |
| 193 | + print('访问授权!') |
| 194 | +else: |
| 195 | + print('访问拒绝!') |
| 196 | +``` |
| 197 | + |
| 198 | +🌕 你做得很好。永远不要放弃,因为伟大的事情需要时间。你刚刚完成了第 9 天的挑战,你已经在通向伟大的道路上前进了 9 步。现在做一些练习来锻炼你的大脑和肌肉。 |
| 199 | + |
| 200 | +## 💻 练习:第 9 天 |
| 201 | + |
| 202 | +### 练习:第一层级 |
| 203 | + |
| 204 | +1. 使用 input 获取用户输入(例如:“输入你的年龄:”)。如果用户 18 岁或以上,给出反馈:你已经足够大,可以学习驾驶。如果未满 18 岁,则给出需要等待的年数。输出: |
| 205 | + |
| 206 | + ```sh |
| 207 | + 输入你的年龄:30 |
| 208 | + 你已经足够大,可以学习驾驶。 |
| 209 | + 输出: |
| 210 | + 输入你的年龄:15 |
| 211 | + 你还需要等待3年才能学习驾驶。 |
| 212 | + ``` |
| 213 | + |
| 214 | +2. 使用 if…else 比较 my_age 和 your_age 的值。谁更年长(我还是你)?使用 input(“输入你的年龄:”)获取年龄作为输入。您可以使用嵌套条件来打印'年'表示 1 年的年龄差异,'年'表示更大的差异,如果 my_age = your_age,则打印自定义文本。输出: |
| 215 | + |
| 216 | + ```sh |
| 217 | + 输入你的年龄:30 |
| 218 | + 你比我大5岁。 |
| 219 | + ``` |
| 220 | + |
| 221 | +3. 使用输入提示从用户处获得两个数字。如果 a 大于 b,返回 a 大于 b,如果 a 小于 b,返回 a 小于 b,否则返回 a 等于 b。输出: |
| 222 | + |
| 223 | +```sh |
| 224 | +输入第一个数字:4 |
| 225 | +输入第二个数字:3 |
| 226 | +4大于3 |
| 227 | +``` |
| 228 | + |
| 229 | +### 练习:第二层级 |
| 230 | + |
| 231 | +1. 编写代码,根据学生的分数给出等级: |
| 232 | + |
| 233 | + ```sh |
| 234 | + 80-100, A |
| 235 | + 70-79, B |
| 236 | + 60-69, C |
| 237 | + 50-59, D |
| 238 | + 0-49, F |
| 239 | + ``` |
| 240 | + |
| 241 | +2. 检查是否是秋天、冬天、春天或夏天。如果用户输入: |
| 242 | + 9 月、10 月或 11 月,是秋天。 |
| 243 | + 12 月、1 月或 2 月,是冬天。 |
| 244 | + 3 月、4 月或 5 月,是春天。 |
| 245 | + 6 月、7 月或 8 月,是夏天。 |
| 246 | +3. 以下列表包含了一些水果: |
| 247 | + |
| 248 | + ```sh |
| 249 | + fruits = ['banana', 'orange', 'mango', 'lemon'] |
| 250 | + ``` |
| 251 | + |
| 252 | + 如果列表中不存在某个水果,则将其添加到列表中并打印修改后的列表。如果水果存在,则打印('该水果已在列表中')。 |
| 253 | + |
| 254 | +### 练习:第三层级 |
| 255 | + |
| 256 | +1. 这里有一个人员字典。请随意修改它! |
| 257 | + |
| 258 | +```py |
| 259 | +person = { |
| 260 | + 'first_name': 'Asabeneh', |
| 261 | + 'last_name': 'Yetayeh', |
| 262 | + 'age': 250, |
| 263 | + 'country': '芬兰', |
| 264 | + 'is_married': True, |
| 265 | + 'skills': ['JavaScript', 'React', 'Node', 'MongoDB', 'Python'], |
| 266 | + 'address': { |
| 267 | + 'street': '太空街', |
| 268 | + 'zipcode': '02210' |
| 269 | + } |
| 270 | +} |
| 271 | +``` |
| 272 | + |
| 273 | +- 检查是否在字典中有 skills 键,如果有则打印 skills 列表中的中间技能。 |
| 274 | +- 检查是否在字典中有 skills 键,如果有则检查该人是否具备'Python'技能并打印结果。 |
| 275 | +- 如果一个人的技能只有 JavaScript 和 React,打印('他是前端开发者'),如果一个人的技能有 Node、Python、MongoDB,打印('他是后端开发者'),如果一个人的技能有 React、Node 和 MongoDB,打印('他是全栈开发者'),否则打印'未知头衔' - 为获得更准确的结果,可以嵌套更多条件! |
| 276 | +- 如果该人结婚了且居住在芬兰,按以下格式打印信息: |
| 277 | + |
| 278 | +```py |
| 279 | +Asabeneh Yetayeh住在芬兰。他已婚。 |
| 280 | +``` |
| 281 | + |
| 282 | +🎉 恭喜! 🎉 |
| 283 | + |
| 284 | +[<< 第 8 天](../08_Day_Dictionaries/08_dictionaries.md) | [第 10 天 >>](../10_Day_Loops/10_loops.md) |
0 commit comments