2023年9月28日·7 min read

Python计算机二级(三)

程序控制结构

一、前言

看一下前面都学了些什么:

二、基本数据类型

各位可以再复习一下,再看正文前先过一遍脑子。不会的可以去看一下前面的:Python计算机二级(二) - 知乎 (zhihu.com) 或者在本篇文章下的评论区中提出问题,我会进行回答。

二、正文

看一下今天学什么:

三、程序控制结构

0.条件判断表达式

注:表达式是 python 最常见的东西。例:

a = 1 #赋值表达式
a == 1 #条件判断表达式

来看一下这句话:

a = 1
a == 2

是不是对这句话感到疑惑?

这个“==”时“等于”的意思。意思就是说 a 等于 2。

可是a不等于二呀。而且,万一出现a == b这种情况怎么办?难道让电脑判断?

确实。条件判断表达式会"输出"一个 bool 值,即"对"(True) 或"错"(false)。例如上面的:

a = 1
a == 2

这时就为 false。

条件判断表达式常长这样:<变量> (条件判断操作符或条件组合保留字)<变量>(其实叫对象更好一些)

常用的条件判断操作符与条件组合保留字:

来自https://zhuanlan.zhihu.com/p/65494539

来自https://zhuanlan.zhihu.com/p/65494539,这里的x与y为bool值

讲一下and,or,not这三个保留字。

and:当x与y都为True时返回True,其余返回false。

or:当x或y为true时返回true,其余返回false。

not:非x,即当x为True时返回false。

eg:

if (a==2 and a==1):
    print("aaa")
if(a==2 or a==1): #or
    print("bbb")
if(not a==2): #not    
    print(a)

为什么要讲这个呢?因为我下面要讲的这些内容都与这相关。

1、程序的三种控制结构

分为顺序结构、分支结构、循环结构。

1.5、顺序结构

即按代码顺序执行代码

eg:

c = 1+2 #加
print(c)
c = 1 - 2 #减
print(c)
c = 1*2 #乘
print(c)
c = 1/2 #除
print(c)
c = 16//5
print(c)
c = 101%2 #求余
print(c)
c = 2**3 #乘方
print(c)

2、程序的分支结构:单分支结构、二分支结构、多分支结构

不知道你们有没有看过这样一则新闻:

一个if语句竟然循环了19.8亿次….

一句话让我们见识到了if语句的厉害。

等等,if语句到底是什么?

我们先不讲if语句的危害,先来讲一讲if语句。

if语句分为三种结构,分别是单分支结构、二分支结构、多分支结构。

先来讲一讲最基本的单分支结构:

语法:

就这么简单。

eg:

a = 1
if a == 1:
    print(a)
# output:
# 1

当我把a改成2时就不会输出,你可以试一下。

二分支结构:

语法:

当bool值为true时,执行表达式1;否则执行表达式2。

eg:

if(1 == 2):
    print(False)
else:
    print(True)

多分支结构:

语法:

这里的 if 语句是有优先级的,即上面的"if"优先于下面的"if",例如:

if 1==2 :
    print(1)
elif 1==1 :
    print(2)
elif 1==1 :
    print(3)
 
# output:
# 2

事实上,在同一函数内所有的代码里,都按照顺序结构来进行,即上面的运行完了再运行下面的。

3、程序的循环结构:遍历循环、无限循环、break和continue循环控制

注:遍历循环要等到第五章再学(for循环)

while循环:

语法:

eg:

a = 1
while a < 3 :
    print(a)
    a += 1
 
# output:
# 1
# 2

while-else循环:

语法:

当条件为false时,执行else里的表达式。

eg:

a = 1
while a < 3 :
    print(a)
    a += 1
else :
    print(a)
 
# output:
# 1
# 2
# 3

无限循环:

你们可以想一下,该如何让while循环一直循环下去。

答案:让条件一直为true。

eg:

while True:
    print(True)
 
# or
 
while 1 :
    print(True)

我就不运行了[doge]

选读:

4、程序的异常处理:try-except

字面意思,try-except就是用于异常处理

语法:

eg:

try:
    a = int(input("输入被除数:"))
    b = int(input("输入除数:"))
    c = a / b
    print("您输入的两个数相除的结果是:", c )
except (ValueError, ArithmeticError):
    print("程序发生了数字格式异常、算术异常之一")
except :
    print("未知异常")
print("程序继续运行")

当我都输入 0 时,发生算术异常,于是报错:

程序发生了数字格式异常、算术异常之一

最后

现在,你已经学会了第三章的内容,你也离结业更进了一步。

看一下下一章的内容:

四、函数和代码复用

还行,不是很难。

不过话说回来,这章应该不是很难。因为我到现在才码了3209个子,相比于上一章6096少了将近一半,也是你们学得多了,我也就不用讲那么多了。