python学习笔记4-程序的控制结构
时间:2022-10-10 21:00:00 sitemap
学习嵩天老师课程写的笔记,感谢嵩天老师
本课主要讲解if和while并简要介绍了使用情况random与伪随机函数库相比,这些java变化不大,是的java基础人学起来比较简单。个人感受Python用起来比java友好些,python库太强大!
一、if分之语句
一、单分支结构 if <条件语句> : 语句块 例:if guess == 99 : print("猜对了")
二、二分支结构 if <条件语句> : 语句块 else : 语句块
例:if guess == 99 :
print("猜对了")
else :
print("猜错了")
三、多分支结构 if <条件语句> : 语句块 elif : 语句块 elif : 语句块 elif:... else : 语句块
和其他编程语言一样,没什么好说的。
应注意异常处理,else指无异常时句块3执行 。
二、循环结构
1、for循环
默认步长为1
例: for c in 'python':
print(c,end=",") #输出结果如下:p,y,t,h,o,n,
例:for item in [123,'py',456] :
print(item,end=",") #输出为 123,PY,456
2、do无限循环
while <条件> :
<语句块> #反复执行句块,直到条件不满足为止
多层嵌套循环出现时,break当调出单层循环时,外层循环将继续实施
三、random库
seek()种子函数是可选的,seek()之后,可再现随机过程,便于复盘程序运行。
例1:圆周率的值用蒙特卡罗计算
注:蒙特卡罗的方法是基于这个想法:如果你有一袋豆子,把豆子均匀地撒在图形上,然后数数图形中有多少豆子,豆子的数量是图形的面积。豆子越小,撒得越多,结果就越准确。在计算机程序的帮助下,可以生成大量均匀分布的坐标点,然后统计图形中的点,图形面积可以通过占总点的比例和坐标点生成范围的面积找到。
from random import random
from time import perf_counter
DARTS = 1000*1000 #随机产生100万随机数
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) #随机点距离小于1的距离视为命中,0.5指
#开方
if dist <= 1.0:
hits = hits 1
pi = 4 * (hits/DARTS)
print("圆周率值为: {}".format(pi))
print("运行时间为: {:.5f}s".format(perf_counter() - start))
例2,测试肥胖指数
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 指标际上, 国内{1}".format(who, nat))