目录
流程控制语句主要包括选择、循环、跳转以及空语句pass。下面将进行一一叙述。
一、选择
选择是根据条件选择执行不同的程序。
1.if语句
语法结构:
if表达式:
语句块
if语句在执行时,先根据表达式进行判断,若表达式结果为True,则执行if表达式下的语句块;若表达式结果为False,则不执行该语句块
示例如下:
number=eval(input('请输入一个数:'))
#判断输入的数字和3的大小关系
if number>3:
print('这个数比3大')
if not number>3:
print('这个数小于或等于3')
x=eval(input('请输入一个正整数:'))
#与2取余后结果为0,则为False,不会继续执行;结果为1,则为True,执行下方代码
if x%2:
print(x,'是奇数')
if not x%2:
print(x,'是偶数')
运行结果
- 常见问题:
if表达式后的冒号忘记写
缩进不正确
2.if-else语句
语法结构:
if 表达式:
语句块1
else:
语句块2
如果表达式的结果为True,则执行语句块1,否则执行语句块2
if语句中的示例代码可改写为如下形式,运行结果相同。
number=eval(input('请输入一个数:'))
if number>3:
print('这个数比3大')
else:
print('这个数小于或等于3')
if x%2:
print(x,'是奇数')
else:
print(x,'是偶数')
3.多重if语句
语法结构:
if 表达式1:
语句块1
elif 表达式2:
语句块2
.........
elif 表达式n:
语句块n
else:
语句块n+1
注:要注意python中多重if语句与其他编程语言的区别,在python中用elif代替了else if,所以python中多重if语句的结构为:if-elif-else。
示例如下:
age=eval(input('请输入您的年龄:'))
if age<0 or age>300:
print('年龄有误')
elif 0<=age<=6:
print('您正处于童年时期')
elif 7<=age<=17:
print('您正处于少年时期')
elif 18<=age<=40:
print('您正处于青年时期')
elif 41<=age<=65:
print('您正处于中年时期')
else:print('您正处于老年时期')
运行结果:
4.嵌套if语句
嵌套if语句是指在if语句或if-else语句中再次嵌套if语句或if-else语句,如下:
if 表达式1:
if 表达式2:
语句块1
else:
语句块2
示例如下:
num=eval(input('请输入一个数:'))
if num%2==0:
if num%3==0:
print('num可以整除2和3')
else:
print('num可以整除2,但不能整除3')
else:
if num%3==0:
print('num不能整除2,但能整除3')
else:
print('num不能整除2和3')
运行结果:
5.match...case语句
语法结构:
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
注:python中没有switch...case语句,在python 3.10中增加了match...case的条件判断。
match后的对象会与case后的内容依次进行匹配,若匹配成功,则执行该部分下的代码;否则跳过向下继续匹配。case_相当于default,当case项均匹配不成功时,会匹配该项。
示例如下:
a=eval(input('请输入一个数:'))
match a:
case 1:
print('1')
case 2:
print('2')
case 3:
print('3')
case _:
print('0')
运行结果:
二、循环
循环是在一定的条件下循环执行一段程序。
1.for循环
python中的for循环主要用于迭代序列
语法结构:
for 循环变量 in 遍历对象:
语句块1
else:
语句块2
示例如下:
#遍历字符串
for i in 'wow':
print(i)
else:
print('结束')
运行结果:
注:else后的语句是在循环结束后执行
range()函数:
当我们要遍历数字序列时,可以使用range()函数,可以使用range()函数指定区间与步长。如range(1,10,2),[1,10)是区间范围,包括1,但不包括10,步长为2,即一次增加2。
for i in range(1,11,2):
print(i)
运行结果为:1 3 5 7 9
range()与len()结合遍历一个序列的索引,len()函数主要用在列表当中,在后面的列表中再详细阐述。
a=['a','b','c']
for i in range(len(a)):
print(i,a[i])
运行结果:
使用range()函数创建列表,后续在列表中详细阐述。
range()函数可用来指定循环次数
2.while循环
语法结构:
while 表达式:
语句块
else:
语句块2
当表达式的结果为True时,执行语句块;
当表达式结果为False时,则跳过语句块执行后面的代码。
#1-100累加和
i=1 #1.初始化变量
sum=0
while i<101: #2.条件判断
sum+=i #3.语句块
i+=1 #4.改变条件
print(sum)
运行结果:5050
三、程序跳转语句
1.break
break可以跳出 for和while的整个循环体,所有循环均结束。
示例如下:
for i in 'world':#循环遍历world这5个字母
if i=='r':#判断字母是否是r,是则跳出循环,否则打印出遍历的字母
break
print(i)
运行结果:w o
2.continue
continue可用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
示例如下:
i = 0
while i < 4:
i += 1
if i == 3:
continue
print(i)
运行结果:1 2 4
四、空语句pass
pass只起到占位符作用,使程序结构完整。
一般可用在if、for、while、函数的定义、类的定义中