Python:根据二项式系数打印出正面和反面的组合
假设我们有一个整数n=3。然后我们需要根据二项式系数打印出所有“正面”和“反面”的组合 结果如下所示Python:根据二项式系数打印出正面和反面的组合,python,python-3.x,Python,Python 3.x,假设我们有一个整数n=3。然后我们需要根据二项式系数打印出所有“正面”和“反面”的组合 结果如下所示 for k = 0 {(“T”, “T”, “T”)} for k = 1 {(“T”, “T”, “H”), (“T”, “H”, “T”), (“H”, “T”, “T”)} for k = 2 {(“T”, “H”, “H”), (“H”, “H”, “T”), (“H”, “T”, “H”)} for k = 3 {(“H”, “H”, “H”)} 不知道如何定义函数来执行此操
for k = 0
{(“T”, “T”, “T”)}
for k = 1
{(“T”, “T”, “H”), (“T”, “H”, “T”), (“H”, “T”, “T”)}
for k = 2
{(“T”, “H”, “H”), (“H”, “H”, “T”), (“H”, “T”, “H”)}
for k = 3
{(“H”, “H”, “H”)}
不知道如何定义函数来执行此操作。这里有一个使用
itertools的简单解决方案。组合:
来自itertools导入组合的
def硬币翻转(n,k):
对于组合中的c(范围(n),k):
out=['H']*n
对于i in c:out[i]=“T”
产量元组(输出)
例如:
>对于硬币中的c(3,2):
... 印刷品(c)
...
(‘T’、‘T’、‘H’)
(‘T’、‘H’、‘T’)
('H','T','T')
这里有一个简单的解决方案,使用itertools.compositions
:
来自itertools导入组合的
def硬币翻转(n,k):
对于组合中的c(范围(n),k):
out=['H']*n
对于i in c:out[i]=“T”
产量元组(输出)
例如:
>对于硬币中的c(3,2):
... 印刷品(c)
...
(‘T’、‘T’、‘H’)
(‘T’、‘H’、‘T’)
('H','T','T')
嗨,到目前为止你都试过什么?在找到答案之前表现出一些努力是很好的,看看更多嗨,到目前为止你都做了些什么?在找到答案之前表现出一些努力是很好的,请参阅更多