玩蛇网提供最新Python编程技术信息以及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.iplaypython.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.iplaypython.com/code/algorithm/a2610.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-01-14 22:27 玩蛇网 www.iplaypython.com

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