#coding=gbk
#嵩天老师的零基础Python笔记:https://www.bilibili.com/video/av13570243/?from=search&seid=15873837810484552531 中的15-22讲
#数字类型的关系
#三种类型存在一种逐渐扩展的关系:
#整数 -》浮点数 -》复数(整数是浮点数的特殊,浮点数是复数的特殊)
#不同数字类型之间可以进行混合运算,运算后生成的结果为最宽类型。如整数+浮点数=浮点数
#三种类型可以相互转换
#函数:int(), float(), complex()
# int(4.5) = 4 float(4) = 4.0 complex(4) = 4 + 0J
#复数不能向浮点数转换,复数也不能向整数转换,可以用.real和.image 来取得实部和虚部.
#
#元组的概念(tuple):
#元组是包含多个类型,元素之间用逗号分割。
#元组可以是空的,如 a = ()
#元组可以只包含一个元素,如 a = 123,
#元组外侧可以使用括号,也可以不使用
#
#元组的特点
#元组中元素可以是不同类型,一个元组也可以作为另一个元组的元素,例如:a = 123,456,("hello","中国")
#元组中各元素存在先后顺序关系,可以通过索引访问元组中的元素。(元组是有序的)
#元组定义后不能更改,元组中的元素也不能删除
#与字符串类型类似,可以通过索引区间来访问元组中部分元素,如a[1:]
#与字符串一样,元组之间可以使用 + 号 和 * 号进行运算,这就意味着他们可以组合和复制,运算后会生成一个新的元组。
#
#
#列表的概念(list):
#列表是有序的元素集合(元组列表都是有顺序的)
#列表元素可以通过索引访问单个元素。
#列表与元组类似:
# 列表中每个元素类型可以不一样
# 访问列表中元素时采用索引形式
#列表与元组的不同:
# 列表的大小没有限制,里面的元素可以随时修改
#列表的操作: seq代表sequence序列 var代表variable变量
#<seq> + <seq> 连接两个列表
#<seq> * <整数类型> 将序列进行整数次重复
#<seq>[<整数类型>] 索引序列中的元素
#len(<seq>) 序列中元素的个数
#<seq>[<整数类型> : <整数类型>] 取序列的一个子序列
#for <var> in <seq>: 对序列进行循环列举
#<expr> in <seq> 成员检查,判断<expr>是否在序列中
#<list>.append(x) 将元素x增加到列表的最后
#<list>.sort() 将列表元素排序
#<list>.reverse() 将列表元素反转
#<list>.index(x) 返回第一次出现元素x的索引值
#<list>.insert(i,x) 在位置i处插入新元素x
#<list>.count(x) 返回元素x在列表中的数量
#<list>.remove(x) 删除列表中第一次出现的元素x
#<list>.pop(i) 取出列表中位置为i的元素,并将它删除
#字符串可以通过split()函数,将字符串拆分成一个列表
#
#
#math库和random库
#math库的函数:
#圆周率pi pi的近似值,15位小数
#自然常数e e 的近似值,15位小数
#ceil(x) 对浮点数向上取整
#floor(x) 对浮点数向下取整
#pow(x,y) 计算x的y次方
#log(x) 以e为基数的对数
#log10(x) 以10为基的对数
#sqrt(x) 计算x的平方根
#exp(x) e的x次幂
#degrees(x) 将弧度值转换为角度
#radians(x) 将角度值转换为弧度
#sin(x) 正弦函数
#cos(x) 余弦函数
#tan(x) 正切函数
#asin(x) 反正弦函数
#acos(x) 反余弦函数
#atan(x) 反正切函数
#
#random库的函数
#seed(x) 给随机数一个种子值,默认随机种子是系统的时钟
#random() 生成一个[0,1.0]之间的随机数
#uniform(a,b) 生成一个a到b之间的随机小数
#randint(a,b) 生成一个a到b之间的随机整数
#randrange(a,b,c) 随机生成一个从a开始到b以c递增的数
#choice(<list>) 从列表中随机返回一个元素
#shuffle(<list>) 将列表中的元素随机打乱
#sample(<list>, k) 从指定列表随机获取k个元素
#
#
#pi的计算
#国际公认的pi值计算方法采用 蒙特卡洛 方法
from random import random
from math import sqrt
from time import clock
DARTS = 2**15
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())
转载于:https://www.cnblogs.com/fengbo1113/p/7787994.html