Python使用random和tertools模块解一些经典概率问题
random模块中的常用函数
random() 返回一个位于区间[0,1]内的实数; uniform(a,b) 返回一个位于区间[a,b]内的实数; randint(a,b) 返回一个位于区间[a,b]内的整数; choice(sequence) 返回一个位于sequence中的元素,其中,sequence为一个有序序列,如list、string或者tuple等类型; randrange([start],stop[,step]) 等效于choice(range([start],stop[,step])); shuffle(sequence[,random]) 无返回值,用于打乱sequence中元素的排列顺序; sample(sequence,n) 返回一个由n个sequence中的元素组成的分片,其中,sequence也可以是set类型。
利用itertools得到排列、组合
permutations(sequence,k)) 从序列sequence中得到包含k个元素的所有排列。
combinations(sequence,k)) 从序列sequence中得到包含k个元素的所有组合。