流程控制if、while

2022.3.7学习总结

  • 流程控制理论
  • if判断
  • while循环
  • 课堂练习

一、流程控制理论

1、什么是流程控制?

​ 控制事物的执行流程

2、流程控制的分类

2.1 顺序结构

​ 自上而下依次执行,我们一般使用的结构都是顺序结构。

2.2 分支结构

​ 一般遇到判断型的问题才会产生不同的分支和结果

2.3 循环结构

​ 在某种条件下不停重复同样的事,即在该结构下的代码都会反复执行。

3、必知必会

3.1 缩进

​ python中用缩进来表示代码的从属关系,如下:

if result == True:
    print('sorry')  # 缩进的代码属于if的子代码

注意:不是所有的代码都可以有子代码,目前学到的有if,elif,else,while,for等

3.2 父代码与子代码

​ 一般python中使用四个空格来进行缩进,父代码下的子代码需保持相同缩进

3.3 从属关系

​ 同一缩进的代码从属关系是一致的,就会按照顺序执行,

​ 如果一行代码的结尾是冒号结束,那么紧挨着的下一行必然自动缩进,冒号的含义相当于拥有子代码。

二、分支结构

1、 单if分支

​ 结构:

​ if 条件:

​ 条件成立后执行的子代码(可以是多行)

​ eg:如果一个女孩的年龄大于30,叫阿姨

girl_age = 18 # 先定义女孩的年龄
if girl_age >30:  # 设置if+条件
    print('阿姨好')  # 打印结果

bsvOCF.png

2、 if与else分支

​ 结构:

​ if 条件:

​ print('结果1')

​ else:

​ print('结果2')

注意:结果1和结果所运行的代码是互斥的!

girl_age = 18 # 先定义女孩的年龄
if girl_age >30:  # 设置if+条件
    print('结果1')  # 打印结果1
else:
    print('结果2')  # 打印结果2

bsz2lQ.png

3、 if与elif与else分支

​ 结构:

​ if 条件1:

​ print('结果1')

​ elif 条件2:

​ print('结果2')

​ elif 条件3:

​ print('结果3')

​ else:

​ print('结果4')

注意:elif可以有无数个

girl_age = 18 # 先定义女孩的年龄
if  条件1:  # 设置if+条件
    print('结果1')  # 打印结果1
elif 条件2:
	print('结果2')  # 打印结果2
elif 条件2:
	print('结果3')  # 打印结果3
else:  # 以上条件都不满足时执行
    print('结果4')  # 打印结果4

by9L6g.png

4、 if嵌套

​ 直接举例如下:

girl_age = 18
is_success = True
if girl_age < 22:
    print('我觉得你很漂亮,可以交个朋友吗')
    if is_success == True:
        print('走吧我们去逛一逛吧')
    else:
        print('去你丫的')
else:
    print('不好意思我不认识你')

因此嵌套的关键在于,需不需要新的变量来支撑条件的判断

三、循环结构之while

1、 while结构

​ while +条件:

​ 循环执行的代码(可以是多行)

while True:
    username = input('username>>>:')  # 获取用户名
    password = input('password>>>:')  # 获取用户密码
    if username == 'jason' and password == '123':  # 嵌套if条件
    	print('登陆成功')  # 打印结果
    else:
        print('登陆失败')  # 打印结果

bye4vq.png

2、 while + break

​ break用于结束本层循环,break所在代码块的循环while直接被结束。

while True:
    username = input('username>>>:')  # 获取用户名
    password = input('password>>>:')  # 获取用户密码
    if username == 'jason' and password == '123':  # 嵌套if条件
    	print('登陆成功')  # 打印结果
        break  # 结束本层while下所有循环的代码
    else:
        print('登陆失败')  # 打印结果
        

3、 while + countinue

​ 用于结束本层循环,但是循环没有停止运行,只是从头开始,如下:

count = 0
while count < 5:
    if count == 3:
        print('对不起,您要走了')
        count = 4
        continue  # 结束本层循环,进入下次循环

    else:
        print('您还可以继续玩')
    print(count)
    count += 1

四、课堂练习

要求:编写一个猜年龄的游戏
基本要求:
如果不对的情况下可以猜三次 如果对了直接结束
拔高练习:
三次机会用完之后提示用户是否继续猜测 如果用户输入了y
则再给用户三次机会 如果用户输入n则直接结束

我的解答1:

count = 0
while count < 3:
    guess_age = input('请输入女朋友的年龄>>>:')
    count += 1
    if guess_age == '18':
        print('猜对了哦,晚上有奖励!')
        break
    else:
        print('你完了,等着罚跪吧!')
        while count >= 3:
            ask = input('已经三次输入错误,是否继续>>>:')
            if ask == 'y':
                count -= 3
            elif ask == 'n':
                print('再见')
                break
            else:
                 print('对不起输入错误')

我的解答2:

count = 0
while count < 3:

    age = int(input('请输入女朋友的年龄:'))
    if age == 18:
        print('恭喜你,答对了!晚上有奖励!')
        break
    else:
        print('你完了,等着跪搓衣板吧!')
    count += 1
    if count >= 3:
        ask = input('是否再来3次(是/否):')
        if ask == '是':
            count -= 3
        else:
            print('那好吧,再见!')
posted @ 2022-03-07 16:42  马氵寿  阅读(88)  评论(0)    收藏  举报