在Python中,条件判断和循环结构是两个非常重要且常用的控制结构。它们允许你根据特定条件执行不同的代码块,以及重复执行某些代码块。
- 条件判断(if-elif-else)
条件判断允许我们根据某个条件的布尔值(True或False)来决定执行哪部分代码。Python中使用if、elif和else关键字来构建条件判断结构。
- if语句: 如果if后面的条件为True,则执行if下面的代码块。
- elif语句: 如果前面的if条件为False,并且elif后面的条件为True,则执行elif下面的代码块。可以有多个elif语句。
- else语句: 如果前面的所有if和elif条件都为False,则执行else下面的代码块。else语句是可选的。
例子代码:
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
输出结果:
良好
在这个例子中,if后面的条件表达式是score >= 90,因为score的值是85,所以该条件不成立,接着判断elif后面的条件表达式score >= 80,成立,因此执行紧跟在该elif后面的代码块,打印"良好"。因为已经满足了这个条件,并执行了对应的语句,因此后续的两条score >= 70和score >= 60的条件判断不会执行,也不会执行else:这个条件。这个条件是上面所有条件都不满足时才会执行。你可以给score赋不同的值,查看这个执行的效果。
- 循环(for、while):
循环是重复执行某个代码块的结构。在Python中,有两种循环结构:for循环和while循环。
a. for循环:
for循环用于遍历可迭代对象,如列表、元组、字符串等。在Python中,使用for关键字来实现for循环,后面跟的是一个可迭代对象和一个循环变量。
我们可以使用for循环打印出一串数字。例子:
for i in range(5):
print(i)
在这个例子中,使用range()函数生成了一个整数序列(序列是什么后面会讲到),从0开始,到5结束,但是不包括5,也就是[0, 1, 2, 3, 4]。for循环会依次将序列中的每个元素赋值给循环变量i,然后执行循环体内的代码,打印出每个元素。
输出结果:
0
1
2
3
4
具体的执行过程如下:
(1)初始时,将整数序列中的第一个元素0赋值给循环变量i,进入循环体。
(2)执行print(i)语句,打印出0。
(3)接着,将整数序列中的第二个元素1赋值给循环变量i,进入循环体。
(4)执行print(i)语句,打印出1。
(5)接着,将整数序列中的第三个元素2赋值给循环变量i,进入循环体。
(6)执行print(i)语句,打印出2。
(7)接着,将整数序列中的第四个元素3赋值给循环变量i,进入循环体。
(8)执行print(i)语句,打印出3。
(9)接着,将整数序列中的第五个元素4赋值给循环变量i,进入循环体。
(10)执行print(i)语句,打印出4。
(11)因为整数序列中已经没有元素了,循环结束。
因此,该代码会依次打印出0、1、2、3和4。
在实际开发中,range()函数可以用来生成各种整数序列,然后使用for循环来遍历这些序列,从而实现重复执行某个代码块的功能。
b. while循环:
while循环在给定的条件为True时重复执行代码块。
- break语句: 用于在循环中提前结束循环,即使循环条件还为True。
- continue语句: 用于跳过当前循环的剩余部分,直接进入下一次循环。
例子代码:
i = 1
while i <= 10:
if i == 5:
break
if i == 3:
i += 1
continue
print(i)
i += 1
输出结果:
1
2
4
这些是Python中条件判断和循环的更详细介绍。通过灵活运用这些控制结构,你可以编写
下面我来详细解释一下:
(1)首先,将变量i赋值为1。
(2)使用while循环,判断i是否小于等于10,如果成立,则执行循环体内的代码。
(3)在循环体内,首先使用if条件判断,判断i是否等于5。如果i等于5,则执行break语句,退出当前循环。
(4)接着,使用另一个if条件判断,判断i是否等于3。如果i等于3,则执行i += 1语句,将i的值加1,接着执行continue语句,跳过本次循环的剩余代码,继续执行下一次循环。
(5)如果i不等于3,则执行print(i)语句,打印出i的值。
(6)最后,使用i += 1语句,将i的值加1,并继续判断循环条件,直到循环条件不成立,循环结束。
下面是具体的执行过程:
(1)初始时,i的值为1,进入循环体。
(2)因为i不等于5,不执行break语句。
(3)因为i不等于3,不执行i += 1和continue语句。
(4)执行print(i)语句,打印出i的值1。
(5)执行i += 1语句,将i的值加1,此时i的值为2。
(6)因为i小于等于10,继续执行循环体。
(7)因为i不等于5,不执行break语句。
(8)因为i不等于3,不执行i += 1和continue语句。
(9)执行print(i)语句,打印出i的值2。
(10)执行i += 1语句,将i的值加1,此时i的值为3。
(11)因为i等于3,执行i += 1语句,将i的值加1,此时i的值为4,接着执行continue语句,跳过本次循环的剩余代码,继续执行下一次循环。
(12)因为i小于等于10,继续执行循环体。
(13)因为i不等于5,不执行break语句。
(14)因为i不等于3,不执行i += 1和continue语句。
(15)执行print(i)语句,打印出i的值4。
(16)执行i += 1语句,将i的值加1,此时i的值为5。
(17)因为i等于5,执行break语句,退出当前循环。
(18)循环结束。
因此,该代码会打印出1、2和4,最终i的值为5。
示例代码地址:
https://github.com/gzmusem/QuantExamples/tree/main/Examples02