顺序分支循环结构

一、流程控制理论

  #控制实物执行的流程

  执行流程分类:顺序结构、分支结构、循环结构

 

二、必知必会

在python中使用缩进就是表示从属关系

(如果一行代码是冒号结尾,下一行自动缩进,为了美观通常缩进四个空格,冒号相当于拥有子代码)

具有相同缩进量的代码彼此之间是顺序结构,无从属关系,平起平坐

if 18>19:
    print('嘿嘿嘿')
elseprint('哈哈哈')

三、分支结构

1.单if分支

  #如果一个女孩年龄大于38,叫阿姨好

age = 48(先定义一个女孩年纪)

if age > 38:     #分支

    print('阿姨好')

2.if 和 else分支  (执行的子代码可以有多行,这里仅仅展示了一行)

如果一个女孩年龄大于38,叫阿姨好,否则叫小姐姐

age = 48(先定义一个女孩年纪)

if age > 38:     #分支

    print('阿姨好')

else:(分支)

    print('小姐姐')

3.if 与 elif 与 else分支  (elif用于两个分支以上使用)

如果用户是jason打印CEO,如果是tony打印理发师,如果是kevin打印安保,其他打印普通员工

username = input('username>>>:')

if username == 'jason':

    print('ceo')

elif username == 'tony':

    print('理发师')

elif username == 'kevin':

    print('安保')

else:

    prine = '普通员工'

4.if 的嵌套

#如果女孩年纪大于38说  不好意思 认错人了   否则上去要微信

如果要成功  则去吃饭  看电影  天黑了 睡觉,如果没有成功说打扰了

复制代码
age = 22
is_success = ture

if age <38:
    print('我观察你很久了,想加你个联系方式')
    if is_success:
        print('吃饭 看电影、天黑了、睡觉觉')
    elseprint('打扰了')
elseprint('不好意思 认错人了')
复制代码

 练习:

成绩大于90为优秀,成绩大于60小于等于90为良好,成绩小于60为挂科

复制代码
score = input('score>>>:')
score = int(score) #要转换为整数,否则结果将会出错,字符串要转化为整型
if score > 90: print('优秀') elif score > 60: print('良好') else: print('挂科')
复制代码

注意:由于input里面是字符串,所有当我们写score > 90时,这个90也必须是字符串,否则报错

四、循环结构

while 条件:

    条件成立后执行循环体的代码

 

1.无限循环

复制代码
while True:
    username = input('username>>>:')
    password = input("password>>>:")
    if username == 'jason' and password == "123":
        print("登录成功")
    else:
        print('用户名或密码错误')
复制代码

while True(但是这个程序不管成功还是失败都会无限循环)

2.满足条件,不再循环

方法一:

复制代码
num = 1
while num < 5:
    username = input('username>>>:')
    password = input("password>>>:")
    if username == 'jason' and password == "123":
        print("登录成功")
    else:
        print('用户名或密码错误')
        num +=1
复制代码

使用num来控制次数,以上代码用户连续输4次就结束,但是登录成功依然还是有循环问题存在

方法二:

复制代码
while True:
    username = input('username>>>:')
    password = input("password>>>:")
    if username == 'jason' and password == "123":
        print("登录成功")
        break
    else:
        print('用户名或密码错误')
复制代码

使用break来打破循环,以上登录成功后就不会循环,但是失败可以一直输入

注意:break只能结束所在那一层的循环

3.循环到中间去掉一个,再继续进行后续循环

首先打印1-10的数字

count = 1
while count < 11:
    print(count)
    count += 1

 

现在要求打印1-10,但是4不打印

复制代码
count = 1
while
count < 11: if count == 4: count += 1 continue #不进行本次循环,直接跳到下一次循环(使用不是很多) print(count) count += 1
复制代码

五、将代码进行分布执行(方便我们找bug)

 练习题:写一个猜测年龄小游戏,如果猜对,直接写答对。连续猜错三次,询问是否继续?如果回答否,则结束,回答是就再给三次机会,还是猜不对,就结束

"""前期编写代码 先不要考虑代码的优化 能实现功能即可"""
前期编写代码一定要先用中文写出步骤 之后翻译成python代码

# TODO:写任何业务 都应该先搭建主体功能 之后再考虑配套优化

复制代码
# 1.定义真是的年龄
real_age = 18
# 7.定义一个记录用户猜测次数的计数器
guess_count = 1
# 5.将需要反复执行的代码缩进到while子代码中
while True:
    # 9.判断当前用户到底猜测了几次
    if guess_count == 4:
        # 10.提示用户已经尝试了三次 是否继续尝试
        is_again = input('您已经尝试了三次 是否继续(y/n)>>>:')
        # 11.判断用户是否继续
        if is_again == 'y':
            # 12.重置用户尝试的次数
            guess_count = 1
        else:
            # 13.直接结束循环
            print('下次记得来玩哟!!!')
            break
    # 2.获取用户猜测的年龄
    guess_age = input('请输入猜测的年龄>>>:')
    # 3.将字符串类型的数字转换成整型类型的数字
    guess_age = int(guess_age)  # 该代码可能会报错 暂且忽略
    # 4.比较猜测的年龄和真实年龄
    if guess_age > real_age:
        print('哎呀 讨厌 猜大了')
        guess_count += 1  # 8.猜错了就应该自增依次
    elif guess_age < real_age:
        print('不好意思 没那么小')
        guess_count += 1  # 8.猜错了就应该自增依次
    else:
        print('哈哈哈 你真棒!!!')
        # 6.一旦猜对了 立刻结束循环
        break
复制代码

 

posted @   半糖+奶茶  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示