python基础知识进阶(四) Python语言的math库和random库和实例

 元组和列表 写的 过程中没保存,下次补上吧。好尴尬,手好残。

 

 

 

 

 

 

 

 

 

计算机是一个确定性设备,不能产生真正的随机数。(使用seed函数,两次的值都是一样的)

  由计算机产生的随机数,都是一个由种子产生的伪随机数列。相同的随机种子会产生相同的伪随机数列。

 

 

 

 

π的计算

  圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法。

  国际公认的π值计算采用蒙特卡洛方法。

 

简单说,蒙特卡洛是利用随机试验求解问题的方法。

  

 

 

 

 

π计算问题的ipo表示如下:

  输入:抛点的数量

  处理:对于每个抛洒点,计算点到圆心的距离,通过距离判断该点在圆内或者圆外。统计在圆内点的数量。

  输出:π值

 

 

 

 

 

# pi.py
from random import random
from math import sqrt
from time import clock
DARTS = 1200
hits = 0
clock()
for i in range(1,DARTS):
    x, y = random(), random()
    dist = sqrt(x**2 + y**2)
    if dist <= 1.0:
        hits = hits + 1
pi = 4 * (hits/DARTS)
print("Pi的值是 %s" % pi)
print("程序运行时间是 %-5.5ss" % clock())

 

 可进一步挖掘该方法的强大能力。

posted @ 2017-09-28 02:42  常快活的小神仙  阅读(1474)  评论(0编辑  收藏  举报