“这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战”
前言
通过做上节课的练习题 《每天五分钟冲击python基础之变量、变量类型、列表、字典、元组知识巩固练习题》(十三),我相信如果有认真做题的同学,就已经将之前所学过的内容重新巩固一遍了,另外有部分同学没有完全掌握的,建议你们可以私聊我,我会将你们不会的地方,一一给你解答,并且重新教给你们喔!务求学过我课程的人,都能轻轻松松地完全掌握里面的内容。特别说明,学习编程语言真的要反复练习,不能练一遍就觉得自己会了就不继续编写了,那样只会忘得比较快,后面内容越多了,前面的就忘记了。这都是学习编程的通病了,所以我还是建议同学们合理的利用时间进行练习。好的,那么我们就开始今天的课程吧!
了解流程控制
python提供了现代编程语言都支持的两种基本流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性执行某段代码;循环结构则用于实现根据循环条件重复执行某段代码。python使用 if 语句提供分支支持,提供了 while、for-in 循环,也提供了break 和 continue 来控制程序的循环结构。
if分支结构
if分支使用布尔表达式或布尔值作为分支条件来进行分支控制。 python的 if 分支既可作为语句使用,也可作为表达式使用。下面先介绍 if 分支作为语句使用的情形。if 语句可使用任意表达式作为分支条件来进行分支控制。python的 if 语句有如下三种形式:
第一种形式:
if expression:
statements....
第二种形式:
if expression:
statements...
else :
statements...
第三种形式:
if expression:
statements...
elif expression:
statements...
...// 可以有零条或多条 elif 语句
else :
statements...
在上面 if 语句的三种形式中,第二种形式和第三种形式是相通的,如果第三种形式中的 elif 块不出现,则变成了第二种形式。
对于上面的 if 分支语句,执行过程是非常简单的------如果 if 条件为 “真”,程序就会执行 if 条件后面的多条语句;否则就会依次判断 elif 条件,如果 elif 条件为 “真”,程序就会执行 elif 条件后面的多条语句.......如果前面所有条件都为 “假”,程序就会执行 else 后的代码块
在上面的条件语句中,if expression:、elif expression:、及else : 后缩进的多行代码被称为代码块,一个代码块通常被当成一个整体来执行(除非在运行过程中遇到 return、break、continue等关键字),因此这个代码块也被称为条件执行体。
第一种形式,例:
age = 20
if age > 18 :
print('你已经成年了')
输出结果:
你已经成年了
第二种形式,例:
age = 15
if age > 18 :
print('你已经成年了')
else :
print('你还小,努力点上学')
输出结果:
你还小,努力点上学
第三种形式,例:
age = 45
if age > 60 :
print('老年人')
elif age > 40 :
print('中年人')
else :
print('青年人')
输出结果:
中年人
if分支结构要注意事项
1、不要忘记缩进,例:
错误的:
age = 20
if age > 18 :
print('你已经成年')
输出结果:
File "D:\Sublime Text 3\Data\Packages\User\a.py", line 3
print('你已经成年')
^
IndentationError: expected an indented block
正确的:
age = 20
if age > 18 :
print('你已经成年')
输出结果:
你已经成年
注:if 条件后的条件执行体一定要缩进。只有缩进后的代码才能算条件执行体(一般建议缩进4个空格)
2、不能随意缩进,例:
错误的:
age = 20
if age > 18 :
print('你已经成年')
print('你可以晚点回家了')
输出结果:
File "D:\Sublime Text 3\Data\Packages\User\a.py", line 4
print('你可以晚点回家了')
IndentationError: unexpected indent
正确的:
age = 20
if age > 18 :
print('你已经成年')
print('你可以晚点回家了')
输出结果:
你已经成年
你可以晚点回家了
注:在同一个代码块内的代码必须保持相同的缩进,不能一会缩进2个空格,一会缩进4个空格
3、不要忘记了写冒号,例:
错误的:
age = 20
if age > 18
print('你已经成年')
print('你可以晚点回家了')
输出结果:
File "D:\Sublime Text 3\Data\Packages\User\a.py", line 2
if age > 18
^
SyntaxError: invalid syntax
正确的:
age = 20
if age > 18 :
print('你已经成年')
print('你可以晚点回家了')
输出结果:
你已经成年
你可以晚点回家了
4、逻辑错误(重点),例:
错误的:
age = 45
if age > 20 :
print('青年人')
elif age > 40 :
print('中年人')
elif age > 60 :
print('老年人')
输出结果:
青年人
正确的:
age = 45
if age > 60 :
print('老年人')
elif age > 40 :
print('中年人')
elif age > 20 :
print('青年人')
输出结果:
中年人
分析:从表面上看,上面的 “错误” 的程序没有任何问题:人的年龄大于20岁是青年人,年龄大于40岁是中年人,年龄大于60岁是老年人。但运行上面的程序,就会发现打印结果是:青年人,而实际上希望45岁应被判断为中年人--------这显然就出现了逻辑错误的问题了。
pass语句(占位符)
有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可以通过pass语句来实现,例:
age = 5
if age > 10 :
print('你的年龄不适合游玩儿童项目')
elif age > 4 :
pass
课外监督
最近一部分同学在后台私聊我说,自己每天都准备要学习了,但是一去到电脑桌上就是提不起劲来,怎么办呢?针对这种情况的同学,我决定每天花一点时间对你们学习进行监督和辅导,如有需要的同学,点击 “联系作者” 进行报名。
结语
这节课是有点逻辑思维在的,但跟着我学习后,你就会理解它其中的意思,好啦,今节课就先讲到这里,下节课讲 流程控制 之循环应用,敬请期待。