どうせ、1回しか使わなしか使わないと思うので、無理矢理やります
このサイトの特性上、スペースでのインデントが使えない、というPythonのスクリプトを書く上での重大な問題があるので、スペースは全てアンダーバーにしました。
sed 's/_/ /g'とでもして使ってください。
#!/usr/bin/env python
from_itertools_import_combinations_as_C
dataE1=(
____(1,1,1),
____(2,1,1),
____(3,1,2),
____(4,1,7),
____(5,1,9)
____)
dataE2=(
____(6,2,2),
____(7,2,2),
____(8,2,3),
____(9,2,3),
____(10,2,3)
____)
dataE3=(
____(11,3,3),
____(12,3,3),
____(13,3,4),
____(14,3,4),
____(15,3,8)
____)
dataE4=(
____(16,4,4),
____(17,4,4),
____(18,4,5),
____(19,4,5),
____(20,4,7)
____)
dataE5=(
____(21,5,5),
____(22,5,5),
____(23,5,6),
____(24,5,6)
____)
dataE6=(
____(25,6,6),
____(26,6,6),
____(27,6,7),
____(28,6,7)
____)
dataE7=(
____(29,7,4),
____(30,7,5),
____(31,7,8),
____(32,7,8),
____(33,7,8)
____)
dataE8=(
____(34,8,2),
____(35,8,8),
____(36,8,9),
____(37,8,9),
____(38,8,9)
____)
dataE9=(
____(39,9,1),
____(40,9,1),
____(41,9,6),
____(42,9,9)
____)
for_num_in_xrange(4,0,-1):
____expt2=[0]_*_9
____for_c1_in_C(dataE1,num):
________for_dt_in_c1:_expt2[dt[2]-1]_+=1
________for_c2_in_C(dataE2,num):
____________for_dt_in_c2:_expt2[dt[2]-1]_+=1
____________for_c3_in_C(dataE3,num):
________________for_dt_in_c3:_expt2[dt[2]-1]_+=1
________________for_c4_in_C(dataE4,num):
____________________for_dt_in_c4:_expt2[dt[2]-1]_+=1
____________________for_c5_in_C(dataE5,num):
________________________for_dt_in_c5:_expt2[dt[2]-1]_+=1
________________________for_c6_in_C(dataE6,num):
____________________________for_dt_in_c6:_expt2[dt[2]-1]_+=1
____________________________for_c7_in_C(dataE7,num):
________________________________for_dt_in_c7:_expt2[dt[2]-1]_+=1
________________________________for_c8_in_C(dataE8,num):
____________________________________for_dt_in_c8:_expt2[dt[2]-1]_+=1
____________________________________for_c9_in_C(dataE9,num):
________________________________________for_dt_in_c9:_expt2[dt[2]-1]_+=1
________________________________________res=[]
________________________________________res.extend(c1)
________________________________________res.extend(c2)
________________________________________res.extend(c3)
________________________________________res.extend(c4)
________________________________________res.extend(c5)
________________________________________res.extend(c6)
________________________________________res.extend(c7)
________________________________________res.extend(c8)
________________________________________res.extend(c9)
________________________________________#_judge
________________________________________judge=True
________________________________________for_i_in_xrange(9):
____________________________________________if_expt2[i]_!=num:
________________________________________________judge=False
________________________________________________break
________________________________________if_judge_:
____________________________________________print_num,res
____________________________________________e1=[[]_for_i_in_range(9)]
____________________________________________e2=[[]_for_i_in_range(9)]
____________________________________________for_r_in_res:
________________________________________________s="%02d"_%_r[0]
________________________________________________e1[r[1]-1].append(s)
________________________________________________e2[r[2]-1].append(s)
____________________________________________for_i_in_xrange(9):
________________________________________________print_"_EX1-%d:_%s"_%_(i+1,_",".join(e1[i]))
____________________________________________for_i_in_xrange(9):
________________________________________________print_"_EX2-%d:_%s"_%_(i+1,_",".join(e2[i]))
________________________________________for_dt_in_c9:_expt2[dt[2]-1]_-=1
____________________________________for_dt_in_c8:_expt2[dt[2]-1]_-=1
________________________________for_dt_in_c7:_expt2[dt[2]-1]_-=1
____________________________for_dt_in_c6:_expt2[dt[2]-1]_-=1
________________________for_dt_in_c5:_expt2[dt[2]-1]_-=1
____________________for_dt_in_c4:_expt2[dt[2]-1]_-=1
________________for_dt_in_c3:_expt2[dt[2]-1]_-=1
____________for_dt_in_c2:_expt2[dt[2]-1]_-=1
________for_dt_in_c1:_expt2[dt[2]-1]_-=1
お礼
> どうせ、1回しか使わなしか使わないと思うので お察しの通りです。無理矢理なコードでも何でも(笑)、助かりました!! importの部分でImportErrorが出てしまったのですが、itertoolsのcombinationsの部分をPythonのマニュアルからコピーしてきて上記コードの"from itertools..."の行の代わりに貼り付けたらエラーなしでできました。3時間半かかりましたが、(3人~1人の)413530組の組み合わせをすべて抽出できたようです。コードの内容はこれからじっくり勉強させていただきます。エラーに関しては、itertoolsのマニュアルを見ると、combinationsは”New in version 2.6”とあり、私のはversion 2.5なので恐らくそれが原因ではないかと思っています。 ありがとうございました!!