teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

修正

2018/08/08 14:23

投稿

rrrrrrrry
rrrrrrrry

スコア20

title CHANGED
File without changes
body CHANGED
@@ -142,137 +142,12 @@
142
142
  ### 発生している実行結果
143
143
 
144
144
  ```
145
+ 出力なし
146
+ ```
145
147
 
146
148
 
147
-
149
+ ### アンサーを参考にしたース
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
- 1
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
-
251
-
252
-
253
-
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
150
  ```
272
-
273
- ### 該当のソースコード
274
-
275
- ```ここに言語名を入力
276
151
  #!/usr/bin/env python
277
152
  # -*- coding: utf-8 -*-
278
153
  import sys
@@ -357,20 +232,48 @@
357
232
  })
358
233
  userComment = userComment.translate(removeCharacters)
359
234
  commentLines = re.split('。|!|♪', userComment) #とりあえず'。'と'!'で分割
235
+ line = []
236
+ REPEAT = 3
360
- for i in range(len(commentLines)):
237
+ for i, commentLine in enumerate(commentLines):
361
- if menu_name in commentLines[i]:
238
+ if menu_name in commentLine:
362
- line.append(commentLines[i][0])
239
+ line.append([commentLine])
363
240
 
241
+ offset = 1
242
+ while True:
243
+ # マイナスのindexにならないようにする
244
+ if i - offset >= 0:
245
+ tmp = commentLines[i-offset]
246
+ else:
247
+ tmp = ""
248
+ line[-1].append(tmp)
249
+
250
+ # kwが含まれたら探索を終了する終了条件
364
- for j in range(1, input_num+1): #for(int i=0; i<input_num; i++){}
251
+ if (any(menu_name in t for t in result[-1][1:])
252
+ and (offset >= REPEAT)
253
+ ):
254
+ break
255
+
256
+ # プラス側のインデックスは例外処理で対処
365
- try:
257
+ try:
366
- line.append(commentLines[i-j][j])
367
- line.append(commentLines[i+j][j])
258
+ tmp = commentLines[i+offset]
368
- except IndexError as e:
259
+ except IndexError:
369
- line.append("")
260
+ tmp = ""
261
+ line[-1].append(tmp)
262
+
263
+ # kwが含まれたら探索を終了する終了条件
264
+ if (any(menu_name in t for t in result[-1][1:])
265
+ and (offset >= REPEAT)
266
+ ):
267
+ break
268
+
269
+ # 終了条件
270
+ if offset == REPEAT:
271
+ break
272
+
273
+ offset += 1
370
274
 
371
- line.append("\n")
372
275
 
373
- #タブ区切りで出力
276
+ #改行区切りで出力
374
277
  f.write("\n".join(line))
375
278
  f.close()
376
279
 
@@ -383,5 +286,4 @@
383
286
 
384
287
  if __name__ == '__main__':
385
288
  sys.exit(main())
386
-
387
289
  ```