2.Python语言的控制流程
2.1Python之if语句
score = 59
if score < 60:
print('抱歉,考试不及格')
# ==> 抱歉,考试不及格
这里,因为score = 59 < 60
,所以if的判断是True
,因此就会执行print('抱歉,考试不及格')
。
这里有几个需要注意的地方:
- 可以看到
print('抱歉,考试不及格')
这行代码明显比上一行代码缩进了,这是因为这行代码是if判断的一个子分支,因此需要缩进,在Python规范中,一般使用4个空格作为缩进; - 在if语句的最后,有一个冒号
:
,这是条件分支判断的格式,在最后加入冒号:
,表示接下来是分支代码块.
2.2Python之if-else语句
score = 59
if score < 60:
print('抱歉,考试不及格')
else:
print('恭喜你,考试及格')
在这里,同样需要注意两个地方,第一个是冒号:
,在else中,同样需要冒号;其次是缩进,在else的子逻辑分支,同样需要缩进。
2.3Python之if-elif-else语句
score = 59
if score < 60:
print('抱歉,考试不及格')
else:
if score >= 90:
print('恭喜你,拿到卓越的成绩')
else:
if score >= 80:
print('恭喜你,拿到优秀的成绩')
else:
print('恭喜你,考试及格')
特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
2.4Python之for循环
举个例子,当我们需要把字符串中的每一个字符打印出来的时候,我们怎么实现呢?
我们当然可以使用之前学习的指定位置的方式让每个字符打印出来。
s = 'ABCD'
print(s[0])
print(s[1])
print(s[2])
print(s[3])
但是,这是字符串s比较短的情况下可以实现的,当s拥有成千上万个字符的时候,难道我们要为此书写上万行代码吗?这个时候for循环就可以派上用场了。
s = 'ABCD'
for ch in s:
print(ch) # 注意缩进
在上述代码中,ch
是在for循环中定义的,意思是把字符串s
中的每一个元素依次赋值给ch,然后再把ch打印出来,直到打印出字符串s的最后一个字符为止。
2.5Python之while循环
while 循环,while循环可以继续进行下去的条件更加简单,只需要判断while循环的条件是否为True即可,当条件为True时,即继续运行下去。
比如计算1~100的和。
num = 1
sum = 0
while num <= 100:
sum = sum + num # 注意缩进
num = num + 1 # 注意缩进
print(sum) # ==> 5050
2.6Python之break跳出循环
用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。
比如在前面的无限循环里面,只要在恰当的时机,我们使用break跳出循环,也可以求出1~100的和。
num = 1
sum = 0
while True:
if num > 100:
break
sum = sum + num
num = num + 1
print(sum)
综合使用while True和break,计算0~1000以内,所有偶数的和。
num = 0
sum = 0
while True:
if num > 1000:
break
if num % 2 == 0:
sum = sum + num
num = num + 1
print(sum)
2.7Python之continue继续循环
使用continue,我们可以控制循环继续下去,并跳过continue后面的逻辑,比如,对于字符串s = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’,假如希望输出字符串s中第10个以后的字符,而不是所有字符,这个时候, 我们可以使用continue跳过前面的9个字符。
s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
num = 1
for ch in s:
if num < 10:
num = num + 1
continue # 当num < 10时,跳过后续循环代码,继续下一次循环
print(ch)
num = num + 1
综合使用while和continue,计算0~1000以内,所有偶数的和。
num = 0
sum = 0
while num <= 1000:
num = num + 1
if num % 2 == 1:
continue
sum = sum + num
print(sum)
2.8Python之嵌套循环
就像多层if-else嵌套一样,python的循环也支持嵌套。
我们使用两层嵌套循环输出字符串’ABC’中每个字符和字符串’123’每个字符的排列。
s1 = 'ABC'
s2 = '123'
for x in s1:
for y in s2:
print(x + y)
在上述代码中,对于外层循环,外层每循环1次,内层就会循环3次,因此,我们将会得到如下结果:
A1
A2
A3
B1
B2
B3
C1
C2
C3
笔记借鉴 慕课网 Python3 入门教程 2020全新版