【Lemon】Python的控制流

目录

控制流说明

条件判断

while循环(条件循环)

for循环


控制流说明

顺序:代码从上往下执行

分支:根据不同的条件,执行不同的代码

循环:特定的代码重复执行

注意:python中通过缩进来区分代码块的。

 

条件判断

1. if语句

if 条件:

    # 条件成立执行的代码块

 

示例:

# 用户输入考试成绩,请判断是否及格。
score = float(input('请输入您的成绩:'))
if score >= 60:
    # 条件成立执行的代码块
    print('考试及格!')

2. if - else语句

if 条件:

    # 条件成立执行的代码块

else:

    # 条件不成立执行的代码块

 

示例:

# 用户输入考试成绩,请判断是否及格。如果考试不及格,打印:考试不及格,晚上通宵敲代码!
score = float(input('请输入您的成绩:'))
if score >= 60:
    # 条件成立执行的代码块
    print('考试及格!')
else:
    # 条件不成立执行的代码块
    print('考试不及格,晚上通宵敲代码!')

3. if - elif - else语句

if 条件1:

    # 条件成立执行的代码块

elif 条件2:

    # 条件2成立执行的代码块

elif 条件3:

    # 条件3成立执行的代码块

else:

    # 以上条件均不成立执行的代码块

 

示例:

# 用户输入考试成绩,根据不同等级进行区分(A: 90分以上, B:80-90分, C: 60-80分, D:60分以下)
score = int(input('请输入您的成绩:'))
if 0 <= score < 60:
    print('您的成绩为D!')
elif 60 <= score < 80:
    print('您的成绩为C!')
elif 80 <= score < 90:
    print('您的成绩为B!')
elif 90 <= score < 100:
    print('您的成绩为A!')
else:
    print('您输入的成绩有误!')

 

4. 多个条件同时判断

# 登录小案例:事先存储一组账号密码,提示用户输入账号和密码,然后判断账号密码是否输入正确
user_info = {'user': 'flora', 'pwd': '123455555Az'}

username = input('请输入账号:')
passwd = input('请输入密码:')

# 方式一:使用嵌套方式
if username == user_info['user']:
    if passwd == user_info['pwd']:
        print('账号密码输入正确!')
    else:
        print('密码输入不正确!')
else:
    print('账号输入不正确!')

# 方式二:使用逻辑运算符去判断多个条件
if username == user_info['user'] and passwd == user_info['pwd']:
    print('账号密码输入正确!登录成功!')
else:
    print('账号或密码输入不正确!登录失败!')

总结:

使用if开启一个条件判断语句:

    一个条件语句中只有一个if,但是一个条件语句中可以有多个或者一个或者零个elif;

    一个条件语句中只有一个或者零个else。

if判断成立的标准:

    if成立的标准是根据if后面的python表达式或者数据的布尔值是否为True来确定条件是否成立

 

 

while循环(条件循环)

1. while循环的使用

如果条件一直成立,则一直循环做条件满足的事情,直到条件不成立,结束循环。

while 条件:

    # 条件成立,循环执行的代码块

    # 条件成立,循环执行的代码块

    # 条件成立,循环执行的代码块

    # ......

 

示例:

# 创建一个变量来保存循环的次数
i = 0
while i < 5:
    print('hello python')
    i += 1 # i = i + 1
# 输出结果:
"""
hello python
hello python
hello python
hello python
hello python
"""

2. 死循环以及相关案例的使用

死循环:循环的条件一直成立,在循环体中无限循环,称之为死循环。

避免写代码的过程中因为逻辑问题,造成代码死循环。

示例:

while True:
    print('hello python')

3. break强制跳出循环

死循环在特定的需求下,我们也会使用,再循环内部要实现跳出循环的机制(合理使用break)。

示例:

while True:
    user_info = {'user': 'flora', 'pwd': '123455555Az'}
    username = input('请输入账号:')
    passwd = input('请输入密码:')

    if username == user_info['user'] and passwd == user_info['pwd']:
        print('账号密码输入正确!登录成功!')
        break
    else:
        print('账号或密码输入不正确!请重新输入!')

4. 循环内嵌套条件语句

示例:

# 打印3次之后强制退出循环
i = 0
while i < 5:
    print('hello python')
    i += 1  # i = i + 1
    # 当i=3时,退出循环
    if i == 3:
        break

5. continue终止本轮循环,直接进行下次循环的条件判断

# 第5-7次不打印
i = 0
while i < 10:
    i += 1  # i = i + 1
    # 当i在5~7之间,则执行continue终止本轮循环,进行下轮循环的条件判断
    if 5 <= i <= 7:
        continue
    print('hello python')

 

for循环

1. for循环的定义

for i in xxx:

    # 循环体

 

2. for循环遍历字符串

示例:

str1 = 'flora'
for i in str1:
    print(i)

3. for循环遍历列表

示例:

# 当前有10位同学的成绩,在一个列表中,请区分成绩的等级
li = [90, 78, 56, 89, 65, 80, 74, 34, 89, 100]
for score in li:
    if 0 < score < 60:
        print('成绩{}:不及格'.format(score))
    elif 60 <= score < 80:
        print('成绩{}:及格'.format(score))
    elif 80 <= score < 90:
        print('成绩{}:优秀'.format(score))
    else:
        print('成绩{}:非常优秀'.format(score))

 

4. for循环遍历字典

示例:

dic1 = {'name': 'flora', 'gender': 'girl', 'age': 18}
for i in dic1.keys():
    print('遍历字典的键:', i)

for i in dic1.values():
    print('遍历字典的值:', i)

for i in dic1.items():
    print('遍历字典的键值对:', i)

# 遍历字典键值对时,用2个变量分别保存键和值。
# for i in dic1.items():
#     k, v = i
#     print('遍历字典的键:', k)
#     print('遍历字典的值:', v)

for k, v in dic1.items():
    print('遍历字典的键:', k)
    print('遍历字典的值:', v)

5. for循环中的break, continue

示例:

# 需求一:打印10遍hello python
for i in range(1, 11):
    print('1: 这是第{}遍: hello python'.format(i))

# 需求二:打印到第50遍跳出循环
for i in range(1, 11):
    print('2: 这是第{}遍: hello python'.format(i))
    if i == 5:
        break

# 需求三:第3~5遍不打印
for i in range(1, 11):
    if 3 <= i <= 5:
        continue
    print('3:这是第{}遍: hello python'.format(i))

6. for循环中的高级语法:for -- else

for对应的else语句,只有当循环是通过break结束的时候,不会执行。其他情况下都会执行。

示例:

for i in range(10):
    print('本轮遍历的数据为{}'.format(i))
else:
    print('for对应的else语句')

users = [{'user': 123}, {'user': 122}, {'user': 124}]
user = input('请输入您的账号:')
for i in users:
    if user == str(i['user']):
        print('用户已存在!')
        break
    else:
        print('用户不存在!')
# 缺陷:输入1111,会打印3遍:用户不存在

for i in users:
    if user == str(i['user']):
        print('用户已存在!')
        break
else:
    print('用户不存在!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值