2023(春)Python程序设计作业1: 基础语法之控制流程

软工212-461-黄盼盼 2023-春-学生 2023-03-30 16:49:20

 

 

程序有三种基本的控制结构:顺序结构选择结构循环结构

1.1 顺序结构

顺序结构是最简单也是最常见的一种结构,采用顺序结构的程序通常按照由前到后的顺序执行各个语句,直到程序结束,结构如下所示:
顺序结构:
在这里插入图片描述

1.2 顺序结构实例

举例如下:

a = 2
b = 3
c = a + b
d = c * 24
print(a, b, c, d)

 输出结果即为:2,3,5,120。

条件语句是通过判断条件是否成立,根据条件表达式的结果做出决策,控制不同代码块的执行。

2.1 条件表达式

条件表达式由运算符操作数组成

例如:a<4,其中a、4都是操作数,小于符号<是运算符

判断条件可以是具有布尔属性的任意元素,包括数据、变量或由变量与运算符组成的表达式,若其布尔属性为True,条件成立;若布尔属性为False,条件不成立。
除了非空常量外,Python还常使用关系操作符和成员运算符构成判断条件 。

条件表达式常用的运算符有:
算术运算符:+、-、*、/、//、%、**
关系运算符:
在这里插入图片描述

Python支持通过保留字not、and和or对判断条件进行逻辑组合:

  • not,表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。
  • and,表示多个条件之间的“与”关系。当且仅当使用and连接的所有条件的布尔属性都为True时,逻辑表达式的布尔属性为True,否则为False。
  • or,表示多个条件之间的“或”关系。当且仅当使用or连接的所有条件的布尔属性都是False时,逻辑表达式的布尔属性为False,否则为True。

2.2单分支选择结构

在这里插入图片描述

  • 若if语句中的判断条件成立,执行if语句后的代码段;
  • 若判断条件不成立,则跳过if语句后的代码段。
  • 单分支结构中的代码段只有“执行”与“跳过”两种情况。

示例:使用单分支结构判断当天是否是星期天。

day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
	print("今天是工作日。")
if day in [6,7]:
	print("今天非工作日。")

2.3 双分支选择结构

在这里插入图片描述

  • 若if语句中的判断条件成立,执行代码段1
  • 若判断条件不成立,则执行代码段2

示例:使用二分支结构判断当天是否是工作日。

day = int(input("今天是工作日吗(请输入整数1~7)?"))
if day in [1,2,3,4,5]:
	print("今天是工作日。")
else:
	print("今天非工作日。")

2.4 多分支选择结构

在这里插入图片描述
在这里插入图片描述

2.5 选择结构的嵌套

选择结构的嵌套是指选择结构的内部包含选择结构
在这里插入图片描述
在这里插入图片描述

2.6 三元表达式

python中没有c语言中的三目运算符,但是可以通过以下的形式实现三目运算符的功能
格式:条件判断为真时的结果 if 判断条件 else 条件为假时的结果
示例:x=x-1 if x>0 else x=x+1
等价于:

if x > 0:
    x = x - 1
else:
    x = x + 1

我们可以利用三元表达式来实现裴波那契数列:

def fun(n):
    return n if n < 2 else fun(n - 1) + fun(n - 2)

还有一种用法,用bool方法选择相应的值,例如:

x = 1
print([2, 3][bool(x)])
x = 0
print([2, 3][bool(x)])

结果:

3
2

 

3 循环语句

在实际应用中有些需要重复进行的操作,可以用循环语句实现。

循环语句有:
while、do while、for

3.1 while循环

在这里插入图片描述

  • 若循环条件为True,则循环执行while循环中的代码段;
  • 若循环条件为False,终止while循环。
  • 若while循环的条件总是True,这种情况叫做死循环 。

例如:使用while循环实现计算n的阶乘

n = int(input("请输入一个整数:"))
fact = 1
i = 1
while i<= n:
	fact = fact*i
	i = i + 1
print("n!={}".format(fact))

3.2 while else循环

Python的while循环也支持使用保留字else产生分支。

示例2:使用while-else循环实现计算n的阶乘

n = int(input("请输入一个整数:"))
fact = 1
i = 1
print("n!计算中……")
while i<= n:
	fact = fact*i
	i = i + 1
else:
	print("n!计算完成 ,循环正常结束")
print("n!={}".format(fact))

3.3 for 循环

在这里插入图片描述

  • 目标可以是字符串、文件、range()函数或组合数据类型等;
  • 循环变量用于保存本次循环中访问到的遍历结构中的元素;
  • for循环的循环次数取决于遍历的目标元素个数。

示例1:遍历字符串中的每个字符

string = input("请输入一个字符串:")
for c in string:
	print(c)

3.4 for else循环

for…else循环的具体实现形式:

for 循环变量 in 目标:
    循环体
else:
    代码块

用法与while…else相同,如果循环体结束后没有碰到break语句,就会执行else语句块,如果结束之前碰到了break语句,就会跳出整个for循环,因此else语句块也就不会执行。

4 循环控制语句

·在循环语句中,有时候需要达到中断循环,或者跳过本次循环,执行下次循环的情况,因此就需要有循环控制语句

python中使用break、continue语句控制循环的执行过程

break用于跳出整个循环
continue用于跳出本次循环,继续执行下次循环

4.1 break语句

在这里插入图片描述
在这里插入图片描述

4.2 continue语句

在这里插入图片描述
在这里插入图片描述

4.3 pass语句

pass的意思是过,pass掉就是淘汰掉的意思。

在python中,pass的意思是空语句,pass语句不做任何事情,只是为了保持程序结构的完整性。

...全文
13 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

163

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧