目录
-
4.1单分支结构
-
4.1.1语句
- if <条件>: <语句块>
-
4.1.2结构
-
-
4.2二分支结构
-
4.2.1语句
- 一般形式:if <条件>: <语句块> else: <语句块>
- 紧凑形式:<表达式1> if <条件> else: <表达式2>
-
4.2.2结构
-
-
4.3多分支结构
-
4.3.1语句
- if <条件>: <语句块1> elif<条件>: <语句块2>.... else: <语句块3>
-
4.3.2结构
-
-
4.4条件判断及组合
-
4.4.1条件判断
-
操作符
-
-
4.4.2条件组合
-
保留字
-
-
-
4.5程序的异常处理
-
4.5.1异常处理
-
4.5.2基本使用
- try: <语句块1> except: <语句块2>
- try: <语句块1> except NameError: <语句块2> (标注异常类型,仅影响该异常)
- try: <语句块1> except: <语句块2> else: <语句块3> finally: <语句块4> (语句块4一定执行,语句块3不发生异常时执行)
-
-
4.6实例5:身体质量指数BMI
-
4.6.1问题
- 输出体重和身高值
-
4.6.2代码
-
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指标为:{}".format(who))
-
-
-
4.7遍历循环
-
4.7.1结构
- for <循环变量> in <遍历结构>: <语句块>
-
4.7.2应用
- for i in range(N): <语句块>
- for i in range(N,M,K): <语句块>
- 字符串遍历循环:
- for i in "python123": print(c,end=",")
- 结果: p,y,t,h,o,n,1,2,3
- 列表遍历循环:
- for item in ls: <语句块>
- ls是列表,遍历每个元素
- 文件遍历循环:
- for line in fi: <语句块>
-
-
4.8无限循环
-
4.8.1结构
- while <条件>: <语句块>
-
-
4.9循环控制保留字
-
4.9.1break
-
功能
- 跳出并结束当前整个循环,执行循环后的语句
-
-
4.9.2continue
-
功能
- 结束当次循环,继续执行后续次数循环
-
-
4.9.3共同点
- 用于for和while
-
-
4.10循环的高级用法
-
4.10.1循环与else
- 循环中没有break语句,else正常执行
-
-
4.11random库概述
-
4.11.1伪随机数
-
4.11.2基本随机函数
-
函数
- seed() random()
- 没有种子的话用当前系统时间
-
随机数种子
- 梅森旋转算法
-
-
4.11.3扩展随机数函数
-
函数
- randint() getrandbits() uniform() randrange() choice() shuffle()
-
-
-
4.12实例6:圆周率的计算
-
4.12.1代码
-
pi=0 N=100 for k in range(N): pi +=1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6)) print("圆周率的值:{}".format(pi))
-
蒙特卡罗方法
-
from random import random from time import perf_counter DARTS=1000*1000 hits=0.0 start = perf_counter() for i in range(1,DARTS+1): x,y=random(),random() dist=pow(x**2+y**2,0.5) if dist<=1.0: hits=hits+1 pi=4*(hits/DARTS) print("圆周率值:{}".format(pi))
-
-
-