玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python组合生成与数量计算的实现方法

Python组合生成与数量计算的实现方法Python学习过程中联系写的代码,组合生成与数量计算(Combinaton generator and counter)。

方法实现的代码中没有用到Python模块,只是简单的函数相关操作。仔细阅读这段代码,整体的编程时的思路还是很清楚的。

#len( CG(7, 3) ) == 7*6*5/3*2*1
def CG(n, m):

    assert m >= 1

    if m == 1:
        for i in range(n):
            yield [i]
    else:
        for v in CG(n, m-1):
            for i in range(v[-1]+1, n):
                yield v + [i]


def CG2(n, m):
     
     if m == 1: # assert m >= 1
         return [[i] for i in range(n)]

     else:
         return [v + [i] for v in CG(n, m-1) for i in range(v[-1]+1, n)]
 

#-----www.iplaypy.com-----组合C(n, m)的大小, Combination Count


def CC(n, m):
  mul=1
  div=1

  for i in range(1, m+1):
    mul *= (n-i+1)
    div *= i

  return mul/div

使用Python来完成数据计算任务是很有意思的事情,与其它计算机编程语言比较起来,Python的方法都是很简便的。

其它Python算法相关文章推荐:
1、Python计算n*n网格生成树数目的方法
2、Python筛法求质数(素数)的生成器示例

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/code/algorithm/a2610.html [复制]



我要小额赞助,鼓励作者写出更好的教程↓↓↓

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2016年01月14日 - 22时27分00秒 发布自玩蛇网

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
站长推荐:
去顶部去底部