体育彩票 超级大乐透 dlt.py
# coding=utf-8
import randomdef 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 factoriala = 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 1else:return n * factorial(n-1)