python 多种流程控制语句

目录

一. if 语句

1. if 语句的语法及应用示例

2. 条件表达式与关系运算符

3. if-else 条件语句

4. 多重 if 语句

5. if语句的常见问题

二. python的循环

1. while 循环语句

2. python 的注释

3. 字符串的格式化输出

4. while 循环嵌套 

三.  for 循环

1. for 循环的几种方式

2. for 循环示例

3. 逻辑运算符

4. for 循环嵌套

5. 循环控制 

(1). break 语句

(2). continue 语句


Python 流程控制是 Python 编程中非常重要的一部分,它用于控制程序的执行流程。Python 提供了多种流程控制语句,包括 if 语句、while 循环、for 循环、break 和 continue 语句等。这种流程控制在各个语言中都是大同小异的。

一. if 语句

if 语句用于根据条件执行不同的代码块。condition 是一个布尔表达式,后面一定要加冒号,这是python 语法规定。if 语句后面的条件表达式是可以加括号的,但并不是必须的。使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据个人编码风格和团队约定进行选择。

1. if 语句的语法及应用示例

if 语句用于判断某个条件是否成立。如果成立,则执行语句内的程序;否则跳过 if 语句, 执行后面的内容,语法格式

if condition:
    # 代码块
else:
    # 代码块

示例1: 演示用 if 语句来判断一个数是否为正数或负数:

示例2: 接收学生的考试成绩,使用 if 语句判断。如果考试成绩大于等于 72 分,输出“合格”。

通过变量 score 保存键盘输入的成绩 72。当 if 语句判断当成绩大于等于 72 时,输出“合格”。在 Python3 中,input 方法默认返回为 str 类型。如果想要输出 int 类型就要改变输出类型为 int。 

2. 条件表达式与关系运算符

使用 if 语句时,后面要用到条件表示式和关系运算符,它们可以经过运算得到布尔值。如前面示例的 score>=72 就是一个使用关系运算符“>=”的条件表达式,表示:如果 score 大于等于 72,则表达式的结果是 True(真);否则为 False(假)

条件表达式的语法

操作数 关系运算符 操作数

关系运算符的前后 2个数值,条件表达式的计算结果是布尔值

常用的关系运算符

  • == 等于
  • != 不等于
  • > 大于
  • < 小于
  • >= 大于等于
  • <= 小于等于

 关系运算符的运算结果

条件表达式 10==9 是判断“==”运算符左右两侧的数值是否相等。因为 10 不等于 9,所以,10==9的运行结果是 False。

条件表达式 10!=9 是判断“!=”运算符左右两侧的数值是否不相等。因为 10 不等于 9,所以,10!=9的运行结果是 True。

3. if-else 条件语句

if 语句还可以加上 else 关键字,根据条件判断,决定执行不同的语句块。当条件为真时,执行语句块 1。当条件为假时,执行语句块 2,语法

if 条件表达式:
语句块 1 else:
语句块 2

示例 : 接收学生的考试成绩,使用 if 语句判断。如果考试成绩大于等于 68 分,输出“合格”;否则,输出“需要努力”

4. 多重 if 语句

使用 if-else 语句通过条件判断使程序能够有 2 条执行路径,但有时还需要更多条路径进行处理,这时可以加入 elif 关键字处理。

语法

if 条件表达式 1:
语句块 1
elif 条件表达式 2:
语句块 2
elif 条件表达式 3:
语句块 3
......
else:
语句块

当条件 1 成立时,执行条件 1 对应的语句块 1。当条件 2 或条件 3 成立时,则分别执行对应的语句块。当前面的条件都不成功时,执行 else 对应的语句块。

示例 : 接收学生的考试成绩。如果考试成绩大于等于 98 分,则输出“优秀”。如果考试成绩小于 90 分且大于等于 70 分,则输出“良好”。如果考试成绩小于 78 分且大于等于 60分,则输出“合格”。如果考试成绩小于 60 分,则输出“需要努力”。

使用键盘输入不同的值,执行不同的语句块,输出不同的结果

5. if语句的常见问题

(1) 使用if-elif-else语句时,容易出现逻辑问题

因为条件是由上向下判断,如果条件成立,下面的条件判断将不再执行。在示例的代码中,如果把条件表达式的顺序颠倒,比如把 score>=60 放到 score>=98 之前,那么输入 188 时,首先判断的score>=68 是成立的,就不会再执行 score>=90 条件表达式,程序将无法按要求得到结果。

(2) if 语句中,语句块没有缩进也是容易犯的错误

编写代码时,要保证同级语句缩进的空格必须绝对一致。即使只有一个空格的差别,他们

已经表示不同语块

第二条输出语句比第一条多了一个空格,执行会报错 

二. python的循环

1. while 循环语句

循环的条件表达式后面也要使用冒号,然后缩进写循环操作语句。while 语句是先判断后执行。即:先判断条件表达式是否成立,如果条件表达式的值为 True,则执行循环操作语句。如果其值为 False,则跳出循环,执行 while 语句后面的语句。

示例:

当 count 值小于正整数 5 时,执行加 1 操作。当 count 小于 5 时,输出 count 的值。

加深对while循环的理解

示例 : 输入5门课程的考试成绩,计算平均分并输出

 

字符串的格式是将若干值插入带有“%”替代符的字符串中,从而可以动态地输出字符串

2. python 的注释

对于编写好的代码,经过一段时间之后,有可能会忘记代码的具体作用,所以代码中要写一些注释文字,以便于日后阅读和修改代码。Python 中使用“#”开头表示注释,可以在代码中添加注释。

示例 :添加了注释的 Python 代码
#输入5 门课程的考试成绩,计算平均成绩

“#+空格”开头的文字,Python 解释器不会做任何处理。而代码中的注释,可以提高代码的可读性。

Python 注释有两种用法。一是,在行开头就使用“#”的称为单行注释;二是,紧随同行代码,以“#’开头的称为行内注释。注释并不是在每一行都需要,只需要把不易读的代码做注释即可。

3. 字符串的格式化输出

字符串中的”%d”,表示插入的是一个整型数据,%s 格式化字符串,%f 格式化浮点数字字符串后面的“% i”表示获取变量 i 的值。

示例 :常用替代符的使用情况

字符串中使用对应的替代符,把相应的变量插入到了相应的位置

字符串中还可以使用多个替代符,对应的变量使用元组即可。示例

 

使用时要注意替代符和变量的顺序,位置不能放错;否则可能会出现类型不匹配的问题

还可以使用字典格式化多个值,示例

字典是无须的,所以使用字典时通过键获得与之对应的值

4. while 循环嵌套 

在 while 语句中,可以包含另一个 while 语句,即:使用 while 语句可以实现嵌套循环。

示例 : 使用 while 语句分别接收 2 名学生的 5 门课程考试成绩,计算并输出每个人的平均成绩。

外层的 while 语句用于输入学生名字,用变量 j控制循环次数,共 2 次。

内层的 while 语句用于输入 5 门成绩,用变量 i 控制。也就是在外层循环输入一个名字后,需要输入 5 门成绩,然后输出这名学生的成绩平均值,一共可以输入2名学生。

三.  for 循环

for 语句是另一种用于控制循环结构的方式。Python 的 while 是使用条件判断执行循环,而 for是使用遍历元素的方式进行循环。

1. for 循环的几种方式

(1) for 循环可以对字符串进行遍历,逐个获得字符串的每个字符,

(2) for 循环可以对列表和元组进行遍历

 

取值列表也可以使用元组

(3) 需要循环操作相同的内容时,可以用for循环和range()函数结合使用,先看 range()函数的作用

示例

list(range(0,5,2))  表示列表值为0到5(不包含5),间隔为2

2. for 循环示例

接收某个学生三门课程的考试成绩,并计算出平均成绩

3. 逻辑运算符

Python 的逻辑运算符

and 逻辑与如果两个操作数都为 True,则表达式值为 True
or 逻辑或如果两个操作数中有一个为 True,则表达式值为 True
not 逻辑非求反运算,如果操作数值为True,则表达式值为False

如果操作数值为 False,则表达式值为 True 

演示逻辑运算符的使用方法:

not 是求反运算,所以 not True 的结果是 False;
and 是与运算,只要有一个值是 False,结果就是 False,所以(True and False)的结果是 False;or or 是或运算,只要有一个值是 True,结果就是 True,所以(True or False)的结果是 True。

判断 

4. for 循环嵌套

与while 循环一样,for 语句也可以使用嵌套的方式

示例 : 使用for语句分别接收2名学生的3门课程考试成绩,计算并输出每个人的平均成绩 

在for循环中嵌套while循环

 

5. 循环控制 

使用 while 和 for 语句执行循环操作时,有可能需要改变循环的正常执行顺序,这时就需要用循环控制语句实现,循环控制语句有 break 和 continue。

(1). break 语句

在循环语句块中使用 break 语句,可以跳出整个循环。

示例 :
对输出平均成绩的代码进行修改,当成绩无效时,使用break 退出循环。

在示例 中的大部分代码是前面示例的代码,只是在第 8-10 行加入了对成绩有效性的判断。如果不符合条件,则退出循环。 

当输入 347 时,条件表达式 score<0 or score>108 的值为 True,程序执行 8-18 行,break 退出 for循环。

break 只和一个 for 循环对应,虽然有 2 层循环,但它只会结束离它最近的循环,这里就是第 2 层for 循环。第 2 层循环结束后,接着执行后面的第 12 行和 13 行代码,第 1 层的循环照常遍历执行,开始输入第 2 个学生“李四”的成绩。

(2). continue 语句

在 Python 中,continue 语句用于跳过当前循环中的剩余代码,并继续执行下一次循环。当 continue语句被执行时,程序将立即跳转到循环的开头,而不执行 continue 语句之后的代码。它通常用于条件判断内部,用来控制循环的执行流程。

示例:

分别接收2个学生3门课程(‘语文’,‘数学’,‘英语’)的考试成绩,要求成绩的取值范围是大于等于0且小于等于100;计算并输出每个学生的平均成绩

 第 1 层使用的是 for 循环遍历学生,第 2 层使用 while 循环遍历成绩,使用 continue 是跳到离它最近的循环的下一轮,也就是第 2 层的 while 循环的下一轮。因为执行 continue 后,第 13 行的 i= i+1 没有执行,而是重新又执行第 6 行的 while 循环,所以就是对当前课程的成绩重新输入。当输入 语文的成绩为575时,提示数据有误,然后又提示需要重新输入语文成绩,代码更加健壮

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值