05_Python基础_Python程序流程控制

16 篇文章 0 订阅
Python程序流程控制
    一、分支语句
        if结构
if结构的语法如下:
if 条件:
    语句组
这个结构说明如下:
    1、在条件后需要使用英文冒号
    2、在语句组前需要进行缩进处理(Python规范中推荐使用4个半角空格)
if语句的执行过程如下:
# coding=utf-8
score = float(input("请输入考试分数(0~100):"))
if score >= 90.0:
    print("您的成绩为优!")
if (score >= 80.0 and score < 90):
    print("您的成绩为良!")
if (score >= 60.0 and score < 80):
    print("您的成绩为及格!")
if score < 60:
    print("您的成绩未及格,还需要努力!")
    if-else结构
if-else的结构语法如下:
if 条件:
    语句组1
else:
    语句组2
这个结构说明如下:
    1、条件后需要有英文冒号
    2、else后需要带上英文冒号
    3、在语句组前需要进行缩进处理(Python规范中推荐使用4个半角英文空格)
# coding=utf-8
score = float(input("请输入一个0~100的分数:"))
if score>=60:
    if score>=85:
        print("您的成绩优秀!")
    else:
        print("您的成绩及格,还可以继续努力!")
else:
    print("成绩不及格,请加倍努力!")
    if-elif-else结构
if-elif-else语法结构如下:
if 条件1:
    语句组1
elif 条件2:
    语句组2
elif 条件3:
    语句组3
……
elif 条件n:
    语句组n
else:
    语句组n+1
这个结构就是一个多分支的判断语句,根据不同的条件从上至下去匹配,匹配为True则执行对应的语句组,并结束后续的判断。
# coding=utf-8
score = float(input("请输入一个0~100的分数:"))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print("您的得分等级是:" + grade)
    二、循环语句
        Python支持的循环语句有两种:while和for
    
        while语句
            while语句的语法结构如下
while 循环条件:
    循环体语句组
[else:
        语句组]
语法结构说明
    1、while后的循环条件以英文冒号结尾
    2、循环体语句组前需要缩进(Python编程规范中推荐使用4个半角空格)
    3、else部分不是必须的可以省略
 
从上面执行的流程来看,else语句只在while正常退出时才会执行,一旦循环被中断时不会执行else语句
# coding=utf-8
i = 0
while i * i < 10:
    i += 1
    print(str(i) + ' * ' + str(i) + ' = ' + str(i * i))
else:
    print('while循环结束!')
# coding=utf-8
i = 0
while i * i < 10:
    i += 1
    if i == 3:
        break
    print(str(i) + ' * ' + str(i) + ' = ' + str(i * i))
else:
    print('while循环结束!')
从上面的两段代码中可以看出当我们在while中使用了break,那么最后else的语句不会被执行。
    for语句
        for语句的语法结构如下
for 变量 in 可迭代对象:
    循环体语句组
[else:
        语句组]
for语句语法结构说明:
    1、在可迭代的对象后以英文冒号结尾
    2、循环体语句组开头要缩进(Python中推荐使用4个半角英空格)
    3、else部分可以省略
这里说的可迭代的对象包含字符串、列表、元组、集合和字典……
 
# coding=utf-8
for item in range(10):    # range(10)返回大于等于0小于10的一共10个整数
    print(item)
else:
    print('for循环结束!')
# coding=utf-8
for item in range(10):    # range(10)返回大于等于0小于10的一共10个整数
    if item==5:
        break
    print(item)
else:
    print('for循环结束!')
这两段代码中上面的会正常执行完最后会打印else中指定的内容,下面的同上于到item==5的时候会break所以不会打印else中指定的内容。
    三、跳转语句
        Python中的跳转语句可以改变程序的执行顺序,包含break,continue,return。
        其中,break,continue用于循环中;return用于函数中
        
        break语句
            用来强制性地退出循环体,不再执行循环体中剩余的语句
            如下面这段代码
# coding=utf-8
for item in range(10):    # range(10)返回大于等于0小于10的一共10个整数
    if item==5:
        break
    print(item)
else:
    print('for循环结束!')
    当item的值等于5时,item==5的判断为True,执行break,循环会被终止掉
        continue语句
            用来结束本次循环,跳过循环体中还没有执行的语句,接着再从循环判断开始来进入下一次的循环。
            如下这段代码
# coding=utf-8
for item in range(10):    # range(10)返回大于等于0小于10的一共10个整数
    if item==5:
        continue
    print(item)
else:
    print('for循环结束!')
    这里把break改为了continue,则当item==5为True时不做print(item),因为在它之前已经continue,这个时候会执行下一次的循环。
练习:求三位数据水仙花数
# coding=utf-8
# 水仙花数的计算,三位数,各位上的立方之和为三位数本身
i = 100    # 三位数最小从100开始
b1 = b2 = b3 = 0    # 记录生一个位上的,b1是个位,b2是十位,b3是百位
while i < 1000:
    b3 = i // 100
    b2 = (i - b3 * 100) // 10
    b1 = i - b3 * 100 - b2 * 10
    if i== (b1 ** 3 + b2 ** 3 + b3 ** 3):    # 判断当前i的值是否为它的每一位的立方之和
        print("i = " + str(i))
    i += 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值