質問の写真を撮る組み合せの問題をPythonで解いてみた。

 質問の写真を撮る組み合せの問題を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 ー 効率的なループ実行のためのイテレータ生成関数