学习目标:
1、掌握 if语句的多种格式,跳转语句。
2、掌握 while循环, for循环。
3、熟悉 if语句的嵌套。
4、熟悉 for循环与while循环嵌套。
3.1条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
3.1.1if语句
if语句由关键字if、判断条件和冒号组成,if语句和从属于该语句的代码段可组成选择结构。若if语句的判断条件成立(判断条件的布尔值为True),执行之后的代码段;若if语句的判断条件不成立(判断条件的布尔值为False),跳出选择结构,继续向下执行。
其语法格式如下:
if 判断条件:
执行语句……
if语句示例如下:
age=int(input("请输入你的年龄:"))
if age>= 18:
print('你已成年!')
age = int(input("请输入你的年龄:"))
if age >= 18:
print('你已成年!')
结果:
请输入你的年龄:22
你已成年!
请输入你的年龄:3
3.1.2if-else语句
一些场景不仅需要处理满足条件的情况,也需要对不满足条件的情况做特殊处理。因此,Python提供了可以同时处理满足和不满足条件的if-else语句。
其语法格式如下:
if 判断条件:
执行语句……
else:
执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
if-else语句示例如下:
age=int(input("请输入你的年龄:"))
if age>= 18:
print('你已成年!')
else:
print('你未成年!')
结果:
请输入你的年龄:25
你已成年!
3.1.3if-elif-else语句
Python除了提供单分支和双分支条件语句外,还提供多分支条件语句if-elif-else。多分支条件语句用于处理单分支和双分支无法处理的情况。
其语法格式如下:
if 判断条件1:
代码段1
elif 判断条件2:
代码段2
elif 判断条件3:
代码段3
…
else:
代码段n
if-elif-else示例如下:
age=int(input(“请输入你的年龄:”))
if age>=60:
print(‘你已是老年!’)
elif age>=40:
print(‘你已是中年!’)
elif age>=18:
print(‘你已是青年!’)
else:
print(‘你还未成年!’)
结果:
请输入你的年龄:26
你已是青年!
3.1.4if嵌套
Python中通过if嵌套可以实现程序中条件语句的嵌套逻辑。
if嵌套的语法格式如下所示:
if 判断条件1: # 外层条件
代码段1
if 判断条件2: # 内层条件
代码段2
…
if条件嵌套语句综合练习:
1)判断闰年:
用户输入年份year, 判断是否为闰年?
我们知道:能被4整除但不能被100整除的 或者 能被400整除 那么就是闰年。
year = int(input('输入年份:'))
if year %4 ==0 and year %100 != 0:
print('%d是闰年' %year)
elif year %400 ==0:
print('%d是闰年'%year)
else:
print('%d不是闰年' %year)
结果:
输入年份:2021
2021不是闰年
2)猜拳
# 1.从控制台输入要出的拳 --石头1 剪刀2 布3
player = int(input("请输入您要出的拳: 石头1/剪刀2/布3 :"))
# 2.电脑随机出拳
computer = random.randint(1, 3)
print(computer)
# 3.比较胜负
if ((player == 1 and computer == 2)
or (player == 2 and computer == 3)
or (player == 3 and computer == 1)):
print('玩家胜利~')
elif player == computer:
print('平局')
else:
print('玩家失败~')
结果:
请输入您要出的拳: 石头1/剪刀2/布3 :3
2
玩家失败~
3.3循环语句
while语句一般用于实现条件循环,该语句由关键字while、循环条件和冒号组成,while语句和从属于该语句的代码段组成循环结构。
while 条件():
条件满足时,做的事情1
条件满足时,做的事情2
while循环语句示例如下:
i = 0
result = 0
while i <= 100:
result += i
i += 1
print('1+2+3+...+100的和为:%d' % result)
结果 :
1+2+3+...+100的和为:5050
3.3.2for语句
for语句一般用于实现遍历循环。遍历指逐一访问目标对象中的数据,例如逐个访问字符串中的字符;遍历循环指在循环中完成对目标对象的遍历。
for循环使用的语法:
for 变量 in 序列:
循环要执行的动作
range 范围
for循环示例如下:
求1、3、5…99的和
sum = 0
for i in range(1, 101, 2):
sum += i
print(sum)
结果:
2500
3.3.3循环嵌套
循环之间可以互相嵌套,进而实现更为复杂的逻辑。循环嵌套按不同的循环语句可以划分为while循环嵌套和for循环嵌套。
while循环嵌套
是指while语句中嵌套了while或for语句。以while语句中嵌套while语句为例。
while 循环条件1: # 外层循环
代码段1
while 循环条件2: # 内层循环
代码段2
......
while循环嵌套示例如下:
打印9*9乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
print('%d * %d = %d\t' %(row,col,col * row),end='')
col += 1
print('')
row += 1
for循环嵌套
是指for语句中嵌套了while或for语句。以for语句中嵌套for语句为例。
for 临时变量 in 目标对象: # 外层循环
代码段1
for 临时变量 in 目标对象: # 内层循环
代码段2
......
3.5跳转语句
3.5.1break语句
break语句用于结束循环,若循环中使用了break语句,程序执行到break语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会结束本层循环。
3.5.2continue语句
continue语句用于在满足条件的情况下跳出本次循环,该语句通常也与if语句配合使用。