質問編集履歴
3
該当のソースコードの変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -69,22 +69,49 @@
|
|
69
69
|
### 該当のソースコード
|
70
70
|
|
71
71
|
```python3
|
72
|
-
# 元の処理
|
73
|
-
|
72
|
+
# 1: 大吉、2: 吉、3: 中吉、4: 小吉、5: 凶、6:大凶
|
74
|
-
|
73
|
+
import random
|
75
|
-
if 'good' in path: good_list.append(row)
|
76
|
-
|
74
|
+
from flask import Flask, render_template, request
|
77
75
|
|
76
|
+
app = Flask(__name__)
|
77
|
+
|
78
|
+
GOOD_FILE = 'input/fortune_good.txt'
|
79
|
+
BAD_FILE = 'input/fortune_bad.txt'
|
80
|
+
|
81
|
+
|
82
|
+
@app.route("/")
|
78
|
-
|
83
|
+
def index():
|
84
|
+
good_list = []
|
85
|
+
bad_list = []
|
86
|
+
for path in [GOOD_FILE, BAD_FILE]:
|
79
|
-
with open(path, encoding='utf-8') as f:
|
87
|
+
with open(path, encoding='utf-8') as f:
|
88
|
+
#うまく動く
|
89
|
+
for row in f:
|
80
|
-
|
90
|
+
if 'good' in path: good_list.append(row)
|
81
|
-
|
91
|
+
if 'bad' in path: bad_list.append(row)
|
82
92
|
|
83
|
-
# 高階関数
|
84
|
-
with open(path, encoding='utf-8') as f:
|
85
|
-
fortune_list =
|
93
|
+
#fortune_list = list(f)
|
94
|
+
|
95
|
+
#リスト内法表記 エラー発生
|
96
|
+
#good_list = [row for row in fortune_list if 'good' in path]
|
97
|
+
#bad_list = [row for row in fortune_list if 'bad' in path]
|
98
|
+
|
99
|
+
#高階関数へ書き換え エラー発生
|
86
|
-
|
100
|
+
#good_list = list(filter(lambda x: 'good' in path, fortune_list))
|
87
|
-
|
101
|
+
#bad_list = list(filter(lambda x: 'bad' in path, fortune_list))
|
102
|
+
|
103
|
+
#うまく動く
|
104
|
+
#good_list.extend([row for row in fortune_list if 'good' in path])
|
105
|
+
#bad_list.extend([row for row in fortune_list if 'bad' in path])
|
106
|
+
fortune = {}
|
107
|
+
if request.args.get('fortune', ''):
|
108
|
+
fortune['no'] = random.randint(1, 6)
|
109
|
+
if fortune['no'] <= 4:
|
110
|
+
fortune['message'] = random.choice(good_list)
|
111
|
+
if fortune['no'] >= 5:
|
112
|
+
fortune['message'] = random.choice(bad_list)
|
113
|
+
return render_template('index.html', fortune=fortune)
|
114
|
+
|
88
115
|
```
|
89
116
|
|
90
117
|
### 試したこと
|
2
エラーコードの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,57 @@
|
|
13
13
|
### 発生している問題・エラーメッセージ
|
14
14
|
|
15
15
|
```
|
16
|
+
Traceback (most recent call last)
|
17
|
+
|
18
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
|
19
|
+
|
20
|
+
return self.wsgi_app(environ, start_response)
|
21
|
+
|
22
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
|
23
|
+
|
24
|
+
response = self.handle_exception(e)
|
25
|
+
|
26
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
|
27
|
+
|
28
|
+
reraise(exc_type, exc_value, tb)
|
29
|
+
|
30
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
|
31
|
+
|
32
|
+
raise value
|
33
|
+
|
34
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
|
35
|
+
|
36
|
+
response = self.full_dispatch_request()
|
37
|
+
|
38
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
|
39
|
+
|
40
|
+
rv = self.handle_user_exception(e)
|
41
|
+
|
42
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
|
43
|
+
|
44
|
+
reraise(exc_type, exc_value, tb)
|
45
|
+
|
46
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
|
47
|
+
|
48
|
+
raise value
|
49
|
+
|
50
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
|
51
|
+
|
52
|
+
rv = self.dispatch_request()
|
53
|
+
|
54
|
+
File "/home/appuser/venv/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
|
55
|
+
|
56
|
+
return self.view_functions[rule.endpoint](**req.view_args)
|
57
|
+
|
58
|
+
File "/home/appuser/work/main.py", line 32, in index
|
59
|
+
|
60
|
+
fortune['message'] = random.choice(good_list)
|
61
|
+
|
62
|
+
File "/usr/lib/python3.6/random.py", line 260, in choice
|
63
|
+
|
64
|
+
raise IndexError('Cannot choose from an empty sequence') from None
|
65
|
+
|
16
|
-
IndexError: Cannot choose from an empty sequence
|
66
|
+
IndexError: Cannot choose from an empty sequence
|
17
67
|
```
|
18
68
|
|
19
69
|
### 該当のソースコード
|
1
前提の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
+
PyQというプログラミング学習サービスで
|
3
4
|
for row in f:
|
4
5
|
if 'good' in path: good_list.append(row)
|
5
6
|
if 'bad' in path: bad_list.append(row)
|