Python:根据二项式系数打印出正面和反面的组合

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”)} 不知道如何定义函数来执行此操

假设我们有一个整数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”)}


不知道如何定义函数来执行此操作。

这里有一个使用
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')

嗨,到目前为止你都试过什么?在找到答案之前表现出一些努力是很好的,看看更多嗨,到目前为止你都做了些什么?在找到答案之前表现出一些努力是很好的,请参阅更多