第3章流程控制

学习目标:

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  

      ......

for循环嵌套示例如下:
for item in range(5):
    print(item)
print('\n')

for num in range(10, 15):
    print(num)
print('\n')

for a in range(20, 30, 2):
    print(a)

结果:

0
1
2
3
4


10
11
12
13
14


20
22
24
26
28

3.5跳转语句

3.5.1break语句

break语句用于结束循环,若循环中使用了break语句,程序执行到break语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会结束本层循环

break语句示例如下:

for word in "Python":

    if (word == 'o'):

        break

    print(word, end="  ")

结果:

P y t h

3.5.5continue语句 

continue语句用于在满足条件的情况下跳出本次循环,该语句通常也与if语句配合使用。

continue语句示例如下:

for word in "Python":

    if (word == 'o'):

        continue

print(word, end="  ")

结果:

P y t h n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值