Python123第四周上

本文详细介绍了Python中的程序控制结构,包括程序的分支结构(单分支、二分支、多分支)、异常处理,以及循环结构(遍历循环、无限循环、循环控制保留字和高级用法)。还通过实例讲解了身体质量指数BMI的计算和使用random库计算圆周率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第四章 程序的控制结构
4.1 程序的分支结构
4.2 实例:身体质量指数BMI
4.3 程序的循环结构
4.4 模块:random库的使用
4.5 实例:圆周率计算
程序得控制结构包括:顺序结构、分支结构、循环结构
程序的分支结构
包括内容:单分支结构、二分支结构、多分支结构、程序的异常处理
单分支结构: 根据判断条件结果而选择不同向前路径的运行方式;(如果,则…)

#单分支示例
guess = eval(input())
if guess == 99:
    print("猜对了")
if True:
    print("猜对了")
    #只要是if True 条件就会被执行

二分支结构: 根据判断条件结果而选择不同向前路径的运行方式;(如果,则…,否则…)

#二分支示例
guess = eval(input())
if guess == 99:
    print("猜对了")
else:
    print("猜错了")
if True:
	print("猜对了”)
else:
	print("猜错了”)

二分支结构存在紧凑形式:

#二分支紧凑形式示例
guess = eval(input())
print("猜{}了".format("对"if guess == 99 else "错"))

多分支结构: 对满足不同条件的问题分类讨论;
(如果1,则…如果二,则…)

#多分支紧凑形式示例
score = eval(input())
if 60 <= score <70:
    grade = "D"
elif 70 <= score <80:
    grade ="C"
elif 80 <= socre <90:
    grade = "B"
elif 90 <= score <=100:
    grade = "A"
print("成绩级别为{}".format(grade))

条件判断及组合
条件判断:操作符
在这里插入图片描述
条件组合:用于条件组合的三个保留字;

程序异常处理 需注意异常发生代码行数,异常类型,异常内容提示;
在这里插入图片描述

try:
	num = eval(input(“输入整数”))
	print(num*2)
except:
print("输入的不是整数”)
try:
	num = eval(input(“输入整数”))
	print(num*2)
except NameError:
print("输入的不是整数”)
#标注异常类型后,仅响应此类异常;异常类型名字等同于变量名;

异常处理高级的高级使用
在这里插入图片描述
实例:身体质量指数BMI
难点:输入变量为两个;须同时给出国内和国外两套标准;

#BMI
height,weight = eval(input("输入身高(米)体重(千克)[逗号隔开]:"))
bmi = weight/pow(height,2)
print("BMI数值:{:.2f}".format(bmi))
who, nat = "","" #此处为“”,“”需注意;指两个字符串;
if bmi < 18.5:
    who,nat = "偏瘦","偏瘦"
elif 18.5 <= bmi < 24:
    who,nat = "正常","正常"
elif 24<= bmi <25:
    who,nat = "正常","肥胖"
elif 25 <= bmi < 28:
    who,nat = "偏胖","偏胖"
elif 28 <= bmi < 30:
    who,nat = "偏胖","肥胖"
else:
    who,nat = "肥胖","肥胖"
print("BMI指标:国际'{0}',国内;'{1}'".format(who,nat))

程序的循环结构
包括内容:遍历循环、无限循环、循环控制保留字、循环的高级用法;

遍历循环:遍历某个结构形成的循环运行方式;
1,从遍历结构中逐一提取元素,放在循环变量中;
2,由保留字for和in组成,完整遍历所有元素后结束;
3,每次循环,所获得元素放入循环变量,并执行一次语句块;

#计数循环1
for i in range(5):
	print(i)#range(5)产生0-4的数字序列
#计数循环2
for i in range(1,6,2):
	print(i)#数字序列为1,3,5;
#字符串遍历
for c in "python123":
	print(c,end=",")
#输出为p,y,t,h,o,n,1,2,3
#列表遍历
for item in [123,"py",456]:
	print(item,end="")
#输出为:123,py,456
#123和“py”之所以同级,应该是123无法作为变量,所以默认为字符串处理,二py需要“”才可;
#文件遍历
for line in fi:
	print(line)
#fi是一个文件标识符,遍历其每行,产生循环;
#无限循环
a = 3
while a > 0:
	a = a+1
	print(a)
#满足条件即可进入循环结构,ctrl+c退出执行;

循环保留字: break和continue;
在这里插入图片描述
注意:break跳出并结束当前整个循环,执行循环后的语句;continue结束当次循环,继续执行后续次数循环;

s = "python"
while s != "":
    for c in s:
        print(c,end="")
    s = s[:-1]
s = "python"
while s != "":
    for c in s:
        if c == "t":
            break
        print(c,end="")
    s = s[:-1] #break仅跳出最内层循环

循环的高级用法
循环与else:当循环没有被break语句退出时,执行else语句块;else语句块作为正常完成循环的奖励(此处与异常处理中else用法相似)
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值