文章目录
第4章 程序的控制结构
顺序结构、分支结构、循环结构
程序的分支结构
单分支结构
if <条件>:
<语句块>
二分支结构
if <条件>:
<语句块>
else:
<语句块>
guess = eval(input())
if guess == 99:
print("true")
else:
print("false")
紧凑型二分支结构
<表达式1> if <条件> else <表达式2>
多分支结构
if <条件>:
<语句块>
elif <条件2>:
<语句块2>
……
else:
<语句块>
条件判断及组合
程序的异常处理
try:
<语句块1>
except:
<语句块2>
try:
<语句块1>
except <异常类型>:
<语句块2>
try:
num=eval(input("请输入一个整数:"))
print(num**2)
except NameError:
print("输入不是整数")
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
- finally对应语句块4一定执行
- else对应语句块3在不发生异常时执行
BMI
BMI=体重(Kg)/身高2(m2)
try:
height=eval(input("请输入身高:"))
weight=eval(input("请输入体重:"))
except:
print("请输入有效数值!")
else:
bmi=weight/(height**2)
print("bmi值为{:.2f}".format(bmi))
who=""
dom=""
if bmi<18.5:
who="偏瘦"
dom="偏瘦"
elif bmi>=18.5 and bmi<24:
who="正常"
dom="正常"
elif bmi>=24 and bmi<25:
who="正常"
dom="偏胖"
elif bmi>=25 and bmi<28:
who="偏胖"
dom="偏胖"
elif bmi>=28 and bmi<30:
who="偏胖"
dom="肥胖"
else:
who="肥胖"
dom="肥胖"
print("BMI指标为:国际:{0},国内:{1}".format(who,dom))
程序的循环结构
遍历循环
数字遍历
for <循环变量> in <遍历结构>:
<语句块>
range(N):产生数字序列,产生循环
字符串遍历
for c in s:
<语句块>
c是字符,s是字符串
列表遍历
for item in ls:
<语句块>
ls是列表,item是列表元素
文件遍历
for line in fi:
<语句块>
line是文件中的一行,fi是一个文件标示符,遍历其每行,产生循环
无限循环
while <条件>:
<语句块>
a=3
while a>0:
a=a-1
print(a)
control+C退出循环
循环控制保留字
break
跳出当前循环,跳出当前最内层循环
continue
跳出本次循环,跳出当次循环
循环的高级用法
break与else
- 当循环没有被break语句推出时,执行else语句块
- else语句块作为“正常”完成循环的奖励
random库
基本随机函数
seed(<种子>)
random()
根据程序需求确定是否需要种子,如果需要复刻值,一般都需要
拓展随机数函数
圆周率的计算
from random import random
from math import sqrt
from time import perf_counter
DARTS=10000*10000
hits=0.0
start=perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=sqrt(x**2+y**2,0.5)
if dist<=1.0:
hits+=1
pi=4*(hits/DARTS)
print("pi的值为:{:.10f}".(pi))
print("运行时间为:{:.5f}s".format(perf_counter()-start))