python的三大流程控制语句

一、认识三大流程控制:

在这里插入图片描述

二、墨守成规的顺序流程控制:

按顺序去执行步骤,是最基本的代码执行规则,不做过多的解释。

三、有路任性的分支流程控制:

1、分支流程语句:

在这里插入图片描述

在这里插入图片描述

2、分支语句之三元运算符:

简化了上图的代码:
在这里插入图片描述
在这里插入图片描述

3、多分支语句:

代码要求:分数为score,分为三个等级

  • 90=<score<=100 , grade=A
  • 80=<score<90 , grade=B
  • score<80 , grade=C
score = int(input("成绩:"))
if 90<=score<=100:
    print("等级A")
elif 80<=score<90: #elif表示达到第二个条件做什么操作
    print("等级B")
else:
    print("等级C")

在这里插入图片描述
在这里插入图片描述

4、实例:

代码需求:

  • 用户输入用户名和密码
  • 判断用户名和密码是否正确(用户名为admin,密码为westos)
  • 如果正确:“用户登陆成功”
  • 如果错误:“用户登录失败”
name = input("请输入用户名:")
passwd = input("请输入密码:")
if name=='admin' and passwd=='westos':
    print("用户登陆成功")
else:
    print("用户登陆失败")

在这里插入图片描述

5、总结:

分支语句:
1). 单分支
    if 条件:
        满足条件执行的内容
2). 双分支
    if 条件:
        满足条件执行的内容
    else:
        不满足条件执行的内容

3). 三元运算符(双分支的简化版)
    result = 满足条件的内容 if 条件 else 不满足条件的内容

4). 多分支
    if 条件1:
        满足条件1执行的内容
    elif 条件2:
        满足条件2执行的内容
    else:
        不满足条件执行的内容

四、吃了炫迈的循环流程控制:

1、while循环:

代码需求: 输出数字从0-100

count = 0
while count <= 100:
    print(count)
    count += 1

在这里插入图片描述
注:while存在死循环,即while后的条件如果一直成立的话,将会一直重复后面的操作,但代码中可通过别的方式退出,所以死循环有独特的用处。

代码需求:用户登录成功进入系统, 登录失败,继续登录。 并且统计登录次数。

try_count = 1  # 用户尝试登录的次数
while True:
    print(f'用户第{try_count}次登录系统')
    try_count += 1  # 用户尝试登录的次数+1
    name = input("用户名:")
    password = input("密码:")
    if name == 'admin' and password == 'westos':
        print(f'用户{name}登录成功')
        exit()   # 退出程序
    else:
        print(f'用户{name}登录失败')

在这里插入图片描述

练习
代码需求:输出数字0-100之间所有的偶数。

可以用每次自增二的方法输出:

count = 0
while count <= 100:
    print(count)
    count += 2

也可以在while中添加if判断语句:

count = 0
while count<=100:
    if count % 2 == 0: #对二取余为0的数,就是偶数
       print(count)
    count += 1

2、for循环:

range的用法

  • range(start, end)指的是从start开始倒end-1结束
  • range(num)指的是从0开始倒num-1结束
  • range(start, end, step), 指的是从start开始倒end-1结束, 步长为step

代码需求:输出数字从0-100。

for num in range(0, 101):
    print(num)

在这里插入图片描述

练习
结合了range函数的用法,设置步长和起始点,更简单的输出奇数或者偶数。

# 需求: 输出数字0-100之间所有的偶数。
for num in range(0, 101, 2):
    print(num)

# 需求: 输出数字0-100之间所有的奇数。 for循环和range实现。
for num in range(1, 100, 2):
    print(num)

for循环遍历字符串

string = 'westos'

for item in string:
    print("---", item)

在这里插入图片描述

3、break和continue:

在这里插入图片描述

  • break语句用来终止循环语句,即循环条件没False条件或者序列还没被完全递归完,也会停止执行循环语句。

  • continue 跳过当前循环的剩余语句,然后继续进行下一轮循环。
    break

count = 0
while count <= 10:
     count += 1 # 1
     print(count)
     if count == 5:
        # 遇到break, 循环结束
         break

在这里插入图片描述

continue

count = 0
while count <= 10:
    count += 1
    print(count)
    if count == 5:
        # 遇到continue跳出本次循环
        continue

在这里插入图片描述

4、实例:

九九乘法表
此处用了循环嵌套的方式:

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}" , end=' ') # print("***",end='') 输出不换行
    print()

在这里插入图片描述

防黑客暴力破解的用户登录系统
代码需求:
根据输入用户名和密码,判断用户名和密码是否正确。
为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示。
数据库信息:
name=‘root’ passwd=‘westos’

此处补充while+else用法:当不满足while条件时,执行else后的操作:

try_count = 1
while try_count <= 3:
    print(f'用户第{try_count}次登录系统')
    try_count += 1
    name = input("用户名:")
    passwd = input("密码:")
    if name == 'root' and passwd == 'westos':
        print(f'用户{name}登陆成功')
        exit
    else:
        print(f'用户{name}登陆失败')
else:
    print ('三次输入错误,禁止再次登陆')

在这里插入图片描述

也可用break实现跳出:

try_count = 1
while True:
    print(f'用户第{try_count}次登录系统')
    try_count += 1
    name = input("用户名:")
    passwd = input("密码:")
    if name == 'root' and passwd == 'westos':
        print(f'用户{name}登陆成功')
        exit
    else:
        print(f'用户{name}登陆失败')
    if try_count == 4:
        print('禁止再次登陆')
        break

在这里插入图片描述

5、总结:

实现循环的两种方式:
1. while循环
1).
while 条件:
    满足条件的语句
2).
while 条件:
    满足条件的语句
else:
    不满足条件的语句
3). 死循环
while True:
    一直循环执行的代码

2. for循环
1). for和range的结合: 循环n次
for num in range(n):
    循环的语句
2). for和字符串的结合
for item in 'westos':
    循环的语句
3). for和else的结合
for num in range(n):
    循环的语句
else:
    循环结束后执行的语句

3. 跳出循环
- break: 跳出循环
- continue: 结束本次循环
- exit(): 退出整个程序

4. 循环嵌套: 九九乘法表
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值