程序控制语句、结构

  • 一、普通语句(顺序结构)
  • 二、条件判断语句(选择结构)
  • 1、if语句 & 单分支选择
  • 2、if-else语句 & 双分支选择
  • 3、if-elif-else语句 & 多分支选择
  • 三、循环执行语句(循环结构)
  • 1、for 循环(计数循环)
  • 2、while循环(条件循环)
  • 3、break语句、continue语句
  • 四、习题练习
  • 练习一、根据输入判断成绩
  • 练习二、输出菱形图案



本文使用 Python 版本为 3.9.5

一、普通语句(顺序结构)

顾名思义,顺序结构就是语句不加控制地按句从上向下顺序执行,它是我们使用频率较高的结构,也是我们学习其他结构的基础。

#顺序结构:
#创建int变量
x = 3
#打印该变量
print(x)	#结果:3
#查看该变量类型
type(x)		#结果:<class 'int'>

以上语句就是一种顺序结构。

二、条件判断语句(选择结构)

条件判断语句,即根据布尔逻辑判断是否成立,从而影响后面代码块执行的选择。

1、if语句 & 单分支选择

if 表达式:
	语句块

单分支选择:判断条件的成立与否,关乎着这部分代码块执行 / 跳过

#创建int型变量
x = 3
#执行判断操作
if x == 4:
	print('A')
print('Z')

执行以上代码,很显然,字母A 因为判断条件爱你不满足,不会被控制台打印输出,而 字母Z 会被正常输出。

#创建int型变量
y = 4
#执行判断操作(书写过程中注意缩进,Python是一门需严格控制缩进的语言)
if y == 4:
	print('A')
print('Z')

执行以上代码,控制台先输出 字母A 再输出 字母Z。

2、if-else语句 & 双分支选择

if 表达式:
	代码块
else :
	代码块

双分支选择:为我们提供了两条路径,不满足判断条件 不再会跳过控制区域,而会进入 else语句 所管辖的代码块,待其行完成后,方可继续执行之后的代码。

我们以此为语句为例,更改以上代码:

#创建int型变量
x = 4
#执行判断操作(书写过程中注意缩进,Python是一门需严格控制缩进的语言)
if x == 3:
	print('A')
else :
	print('B')
print('Z')

此时,由于 变量x 并不等于 4,控制台会先输出 字母B,后输出 字母Z。

3、if-elif-else语句 & 多分支选择

if 表达式1:
	代码块
elif 表达式2:
	代码块
elif 表达式3:
	代码块
......
elif 表达式n:
	代码块
else :
	代码块

多分支选择,根据条件不同,分别进入不同的代码块,从而完成多种情况的判断。else if代表当以上所有情况都不成立,但本 else if 控制条件成立时,所需要执行的代码块。由于else if 写起来不够便捷,Python 支持将其缩写为 elif 。

#创建int型变量
x = 12
#执行判断操作(书写过程中注意缩进,Python是一门需严格控制缩进的语言)
if x < 5:
	print("x小于5")
elif x < 10:
	print("x小于10,但不小于5")
elif x < 15:
	print("x小于15,但不小于10")
else :
	print("x不小于10")

很显然,控制台会执行输出:x小于15,但不小于10。

三、循环执行语句(循环结构)

1、for 循环(计数循环)

for 取值 in 序列 / 迭代对象:
	代码块
[else:
	代码块]

计数循环,即当计数数值不满足条件时,会一直持续进行下去,直到计数完成。

Python 的 for 需要使用 序列 / 迭代对象 辅助进行,常用的迭代对象为 range对象。并且支持 当循环结束时,执行 else 内的代码块。

将前100的正整数相加并输出:

#定义int变量,表示结果变量
int s = 0
for i in range(1,101):
	s += i
print(s)

利用 for-else 结构,执行打印语句,else 代表无论循环是否能进行,总会在退出循环(计数大小不再满足条件)时,执行其内部的代码块:

#定义int变量,表示结果变量
int s = 0
#执行循环
for i in range(1,101):
	s += i
else:
	print(s)		#5050

执行以上两种代码,控制台均会输出其最终结果:5050。

2、while循环(条件循环)

while 表达式:
	代码块
[else:
	代码块]

Python 的 while 循环为条件循环,即当条件满足时,会一直执行下去,直到不再满足条件,while 同样支持 当循环结束时,执行 else 内的代码块。

我们同样可以通过 while 循环完成 “将前100的正整数相加并输出” 的任务,只是这里判断、计数的方式不同:

#计数
int i = 0;
#存储结果
int s = 0;
#执行循环
while i <= 100:
	s+=i;
	i+=1;
else
	print(s)		#5050

执行以上代码,控制台最终会输出其结果:5050。

3、break语句、continue语句

break语句、continue语句在我们编写程序的过程中也十分常用,负责控制循环的跳出。

  • break 语句:结束本层循环,不再执行代码块。
  • continue 语句:跳过本次循环的执行,忽略其以后的所有代码,进入下一次循环。

寻找100以内最大素数(质数):

#外循环:从100开始,每次-1
for n in range(100,1,-1):
	#判断是否可被2整除
	if n % 2 == 0:
		#若可被2整除必定不是素数,且已知2本身不是100以内的最大素数
		continue
	#从3开始,直到 n^0.5(取整)+1 结束循环,并且每次增加2
	for i in range(3,int(n**0.5)+1,2):
		#当n可被i整除时
		if n % i == 0:
		#结束内循环
		break;
else:
	#打印此时的n
	print(n)
	#结束外循环
	break

这样,我们就找到了100以内的最小素数97。

四、习题练习

练习一、根据输入判断成绩

while True:
    score =  int(input('请输入成绩:\n'))
    if score == -1:
        print('退出!')
        #退出总循环
        break
    elif score < 60 :
        print('成绩不及格!')
    elif score < 75:
        print('成绩一般!')
    elif score < 85:
        print('成绩良好!')
    elif score < 100:
        print('成绩优秀!')
    elif score == 100:
        print('成绩满分!')
    else:
        print('输入成绩有误!')

python程序控制结构包括 python基本程序控制结构_Python

练习二、输出菱形图案

n = int(input('请输入菱形行数:\n'))

for i in range(n):
	print(('* ' * i).center(n * 3))
for i in range(n,0,-1):
	print(('* ' * i).center(n * 3))

python程序控制结构包括 python基本程序控制结构_代码块_02


python程序控制结构包括 python基本程序控制结构_Python_03