体育彩票 超级大乐透 dlt.py
# coding=utf-8
import random
def xuanhao(total, count):
element = [x+1 for x in range(total)]
result = []
for i in range(count):
res = element[random.randint(0, len(element)-1)]
element.remove(res)
result.append(res)
return result
# 超级大乐透
print('blue:',sorted(xuanhao(35,5)))
print('yellow:',xuanhao(12,2))
组合的定义:从n个不同元素中,任取m(m<n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m<n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。
计算公式:
大乐透的玩法是这样的,从35个蓝球中选择5个,从12个黄球中选择2个。
from math import factorial
a = factorial(35)/(factorial(5)*factorial(35-5))
print('a=', a)
b = factorial(12)/(factorial(2)*factorial(12-2))
print('b=', b)
print('Combination=', a*b)
a= 324632.0
b= 66.0
Combination= 21425712
计算阶乘 factorial 函数是递归函数:
# 计算阶乘
def factorial(n):
if n <= 1:
return 1
else:
return n * factorial(n-1)