Python for循环里如何加判断语句
引言
在编程中,经常需要在for循环中添加一些判断语句,以根据特定条件执行相应的操作。Python的for循环提供了一种简洁而有效的方式来解决这个问题。本文将介绍如何在Python的for循环中使用判断语句,并通过一个实际问题来展示其应用。
判断语句
在Python中,判断语句通过if和else关键字来实现。if语句用于判断一个条件是否为真,如果为真,则执行其中的代码块;否则,跳过该代码块继续执行后续的代码。else语句用于在if条件为假时执行另一段代码块。
示例代码如下所示:
for item in iterable:
if condition:
# do something
else:
# do something else
在这个示例中,iterable是一个可迭代对象,例如列表、元组或字符串。我们遍历该可迭代对象,对每个元素进行判断。如果满足条件,执行其中的代码块;否则,执行else语句中的代码块。
实际问题:统计学生成绩
为了更好地理解在for循环中使用判断语句的应用,我们将解决一个实际问题:统计学生成绩。
假设我们有一个班级的学生成绩列表,如下所示:
学生姓名 | 数学成绩 | 英语成绩 | 物理成绩 |
---|---|---|---|
张三 | 90 | 85 | 95 |
李四 | 80 | 92 | 88 |
王五 | 95 | 88 | 92 |
赵六 | 85 | 90 | 80 |
我们想要统计每个学生的总成绩,并计算他们的平均分。同时,我们还想找出平均分高于80分的学生。
现在,我们就可以使用for循环和判断语句来解决这个问题。
示例代码如下所示:
# 定义学生成绩列表
grades = [
{'name': '张三', 'math': 90, 'english': 85, 'physics': 95},
{'name': '李四', 'math': 80, 'english': 92, 'physics': 88},
{'name': '王五', 'math': 95, 'english': 88, 'physics': 92},
{'name': '赵六', 'math': 85, 'english': 90, 'physics': 80}
]
# 统计每个学生的总成绩和平均分
for student in grades:
total = student['math'] + student['english'] + student['physics']
average = total / 3
student['total'] = total
student['average'] = average
# 判断是否平均分高于80分
if average > 80:
student['above_average'] = True
else:
student['above_average'] = False
在这个示例中,我们使用一个列表来存储学生成绩信息,每个学生的成绩信息都以字典的形式表示。我们遍历这个列表,对每个学生进行计算总成绩和平均分的操作,并将结果保存在对应的字典中。
在计算平均分时,我们使用了一个判断语句来判断平均分是否高于80分。如果是,将对应的键值设置为True;否则,设置为False。
状态图
为了更清晰地展示上述示例中的流程,我们可以使用状态图来表示。
stateDiagram
[*] --> Start
Start --> ForLoop
ForLoop --> IfStatement
IfStatement --> TrueResult
IfStatement --> FalseResult
TrueResult --> ForLoop
FalseResult --> ForLoop
ForLoop --> End
End --> [*]
在这个状态图中,我们有以下几个状态:
- Start:开始状态,表示代码的起点。
- ForLoop:表示for循环中的操作。
- IfStatement:表示判断语句