質問編集履歴

1

一部しか載せておらずわかりにくかったので全てのコードとエクセルファイルをを載せました。

2017/12/08 10:51

投稿

Looove
Looove

スコア11

test CHANGED
File without changes
test CHANGED
@@ -14,8 +14,110 @@
14
14
 
15
15
  ###該当のソースコード
16
16
 
17
+
18
+
17
19
  ```python3
18
20
 
21
+ import xlrd
22
+
23
+ import os.path
24
+
25
+ import numpy as np
26
+
27
+ import itertools
28
+
29
+ import sys
30
+
31
+ import openpyxl
32
+
33
+ import collections
34
+
35
+
36
+
37
+ xlfile = "結果.xlsx"
38
+
39
+ if os.path.exists(xlfile):
40
+
41
+ xls = xlrd.open_workbook(xlfile)
42
+
43
+ sheet1 = xls.sheet_by_index(0)
44
+
45
+ nrows = sheet1.nrows
46
+
47
+ ncols = sheet1.ncols
48
+
49
+ data = np.zeros(ncols*nrows).reshape((nrows, ncols))
50
+
51
+ surablist = []
52
+
53
+ atusalist = []
54
+
55
+ seibunlist = []
56
+
57
+ taisekilist = []
58
+
59
+ kekkalist = []
60
+
61
+ kekkalist4 = []
62
+
63
+ kekka = []
64
+
65
+
66
+
67
+ for r in range(0, nrows):
68
+
69
+ for c in range(0, ncols):
70
+
71
+ data[r,c] = sheet1.cell(r,c).value
72
+
73
+
74
+
75
+ for r in range(0, nrows):
76
+
77
+ surablist.append(data[r,0])
78
+
79
+ atusalist.append(data[r,2])
80
+
81
+ seibunlist.append(data[r,3])
82
+
83
+ taisekilist.append(data[r,5])
84
+
85
+
86
+
87
+ for i, _ in enumerate(surablist, 4):
88
+
89
+ if i == 5:
90
+
91
+ break
92
+
93
+ for j in itertools.combinations(surablist, r=i):
94
+
95
+ if i == 4:
96
+
97
+ g = int(j[0]-1)
98
+
99
+ u = int(j[1]-1)
100
+
101
+ z = int(j[2]-1)
102
+
103
+ a = int(j[3]-1)
104
+
105
+ if data[g,3] == data[u,3] and data[g,3] == data[a,3] and data[g,3] == data[z,3] and data[u,3] == data[z,3] and data[a,3] == data[u,3] and data[z,3] == data[a,3] and data[g,2] + data[u,2] + data[z,2] + data[a,2] <= 2.0 and data[g,5] + data[u,5] + data[z,5] + data[a,5] <= 2.56:
106
+
107
+ kekkalist4.append(j)
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ z = 0
116
+
117
+ a = 0
118
+
119
+
120
+
19
121
  z = len(kekkalist4)
20
122
 
21
123
  set(map(tuple, kekkalist4))
@@ -271,3 +373,9 @@
271
373
  ```
272
374
 
273
375
  sys.exitの部分で一番はじめのループに戻りたいです。この記述で戻れているでしょうか。
376
+
377
+
378
+
379
+ エクセルファイルはこのようになっています
380
+
381
+ ![イメージ説明](5f7615c1ed55d2b4c94e26e63d749258.png)