回答編集履歴

1

別解追加

2017/12/08 10:26

投稿

YouheiSakurai
YouheiSakurai

スコア6142

test CHANGED
@@ -29,3 +29,45 @@
29
29
  print(i, j)
30
30
 
31
31
  ```
32
+
33
+
34
+
35
+ # productがなくても出来ること
36
+
37
+ ```python
38
+
39
+ def gen_bb_to_bj(z)
40
+
41
+ for bb in range(0,z-1):
42
+
43
+ for bc in range(bb+1,z):
44
+
45
+ for bd in range(bc+1,z):
46
+
47
+ for be in range(bd+1,z):
48
+
49
+ for bf in range(be+1,z):
50
+
51
+ for bg in range(bf+1,z):
52
+
53
+ for bh in range(bg+1,z):
54
+
55
+ for bi in range(bh+1,z):
56
+
57
+ for bj in range(bi+1,z):
58
+
59
+ yield bb, bc, bd, be, bf, bg, bh, bi, bj
60
+
61
+
62
+
63
+ for bb_to_bj in gen_bb_to_bj(10):
64
+
65
+ pass # なんかの処理
66
+
67
+ ```
68
+
69
+
70
+
71
+ # 多分もっとフラットに書けるはず
72
+
73
+ 組み合わせを元にループしようとしているように見えるので`itertools`を使えばもうちょっと見通しよく書けると思うのですが、いかんせんfor文の連鎖でどんな組み合わせをループしようとしているのか分からなかったので、ここまでです。