質問の写真を撮る組み合せの問題をPythonで解いてみました。(^_^;
組み合わせというよりは、重複順列の問題に近いのかな。(^_^;
● RepPermM1.py
# coding: utf-8 # RepPermM1.py import itertools n = 0 for a,b,c,d in itertools.product((0,1),repeat=4): if a==b==c==d==0: continue # 1ショットになるので除外 n+=1 print("%2d : %s %s %s %s"%(n,'-A'[a],'-B'[b],'-C'[c],'-D'[d]))
●実行結果
1 : - - - D 2 : - - C - 3 : - - C D 4 : - B - - 5 : - B - D 6 : - B C - 7 : - B C D 8 : A - - - 9 : A - - D 10 : A - C - 11 : A - C D 12 : A B - - 13 : A B - D 14 : A B C - 15 : A B C D
※参考URL
●10.1. itertools ー 効率的なループ実行のためのイテレータ生成関数