Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库

2020年月10日星期一
我们先来整理一下程序循环结构和random库的相关内容

#程序循环结构

##遍历循环
1、计数循环
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第1张图片Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第2张图片
说明:range(M,N,K)函数是从M开始到N之前以K为步长的数字序列,K省略时步长为一
2、字符串遍历循环
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第3张图片
说明:end=","是指在每个打印的字符串后加上一个逗号
3、列表遍历循环
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第4张图片
4、文件遍历循环
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第5张图片
##无限循环
while语句根据判断条件确定循环次数,当不满足条件时退出,或进入无限循环。
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第6张图片
##循环控制保留字
break跳出并结束当前整个循环,执行循环后的语句
continue结束档次循环,继续执行后续次数循环
break和continue可以与for和while循环搭配使用
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第7张图片Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第8张图片
注:一个break只能跳出一层循环
##循环的高级用法
循环与else
当循环没有被break语句退出时,执行else语句块
else语句块作为“正常”完成循环的奖励
这里else的用法与异常处理中else的用法相似
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第9张图片

#random库

random库是使用随机数的标准库,直接使用import来使用它

##基本随机数函数

Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第10张图片Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第11张图片
编程中如果给出了随机数种子,那么下一次程序再次运行,只要种子相同,产生的随机数也相同,对于使用随机数的程序我们可以复现或者再现程序运行的过程,如果不使用随机数种子,它使用的是当前系统时间,难以再现,所以后面产生的随机数结果是完全随机的。只要我们调用了random.seed设置种子的函数,后续调用random函数相同,产生的随机数也是相同的,如上图右。
##扩展随机数函数
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第12张图片
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第13张图片Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第14张图片

#圆周率的计算实例验证

1、公式法
在这里插入图片描述
代码一:

#CalPiV1.py pi=0 N=100 for i in range(N):
    pi+=1/pow(16,i)*(4/(8*i+1) - 2/(8*i+4) - 1/(8*i+5) - 1/(8*i+6) ) print("圆周率值为{}".format(pi))

结果一:
在这里插入图片描述2、蒙特卡罗法
Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库_第15张图片
让点随机散落在区域中,通过统计落在单位圆与落在整个区域的点的比值来近似确定圆周率
代码二:

#CalPiV2.py
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:
        hits+=1
pi=4*hits/DARTS
print("圆周率值为{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))

结果二:
在这里插入图片描述

你可能感兴趣的:(Python入门实例验证及结果之实例7 圆周率的计算 ##程序循环结构 ##random库)