程序的控制结构
程序的分支结构
单分支结构
根据判断条件结果而选择不同向前路径的运行方式。
格式 :
if <条件>:
<语句块>
二分支结构
根据判断条件结果而选择不同向前路径的运行方式
格式:
if <条件>:
<语句块1>
else :
<语句块2>
紧凑形式:适用于简单表达式的二分支结构
格式:<表达式1> if <条件> else <表达式2>
多分支结构
一定要注意各个条件的包含关系
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
.....
else:
<语句块n>
条件判断
程序的异常处理
实例5:身体质量指数BMI
1.只输出一种
#BMI.py
height,weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))
bmi = weight / pow(height,2)
print("BMI指数为:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
who = "偏瘦"
elif 18.5 <= bmi < 25:
who = "正常"
elif 25 <= bmi <30:
who = "偏胖"
else:
who = "肥胖"
print("BMI指标为:国际'{0}'".format(who))
2.输出两种
#BMI.py
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))
程序的循环结构
遍历循环
遍历某个结构形成的循环运行方式
结构:
for <循环变量> in <遍历结构>:
<语句块>
计数循环(N次)
结构:
for i in range(N):
<语句块>
例如:
计数循环(特定次)
结构:
for i in range(M,N,K):
<语句块>
其中是,从M到N,K为步长
例如:
字符串遍历循环
格式:
for c in s:
<语句块>
- s是字符串,遍历字符串每个字符,产生循环
例如:
列表遍历循环
格式:
for item in ls:
<语句块>
- ls是一个列表,遍历其每个元素,产生循环
例如:
文件遍历循环
格式:
for line in fi:
<语句块>
- fi是一个文件标识符,遍历其每行,产生循环
例如:
无限循环
由条件控制的循环运行方式
格式:
while <条件>:
<语句块>
- 反复执行语句块,直到条件不满足时结束
例如:
循环控制保留字
break:
跳出并结束当前整个循环,执行循环后的语句,仅跳出当前最内层循环
continue:
结束当次循环,继续执行后续次数循环
例如:
- 当循环没有被break语句退出是,执行else语句块
- else语句块作为正常完成循环的奖励
- 这里else的用法与异常处理中else用法相似
random库的使用
random库概述
random库是使用随机数的Python标准库
- 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
- random库主要用于生成随机数
- 使用random库: import random
- 基本随机数函数:seed(),random()
- 扩展随机数函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
基本随机数函数
随机数种子:
随机数种子确定了随机数序列的产生
只要种子相同,下一次产生的随机数也相同
扩展随机数函数
随机数函数的使用
需要掌握的能力:
- 能够利用随机数种子产生“确定”伪随机数
- 能够产生随机整数
- 能够对序列类型进行随机操作
实例6:圆周率的计算