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())
可进一步挖掘该方法的强大能力。