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

質問編集履歴

3

再考のため

2020/06/30 03:47

投稿

Hironori1998
Hironori1998

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- PYTHON 3.8で、BMIから肥満度を判別したい
1
+ PYTHONの条件分岐
body CHANGED
@@ -4,90 +4,6 @@
4
4
  そこから肥満度を条件分岐で表したい。
5
5
 
6
6
 
7
- ### 発生している問題・エラーメッセージ
8
-
9
- 肥満度をBMIから算出して、HTMLテンプレートに反映したい。
10
-
11
-
12
- ### 該当のソースコード
13
-
14
- ■PYTHON
15
-
16
- ```PYTHON
17
- @route('/health-bmi', 'GET')
18
- def health_bmi():
19
- '''
20
- '''
21
- app_session = request.environ.get('beaker.session')
22
- params=read_settings(app_session['account_id'])
23
- db = sqlite3.connect(FILENAME ).cursor()
24
- rows=db.execute(
25
- '''SELECT * from bmi_data WHERE account_id=? order by DATE(date)''',
26
- (params['account_id'],)
27
- ).fetchall()
28
- db.close()
29
-
30
- records=''
31
- weight_hist=''
32
- params['bmi']=''
33
- params['height']=''
34
- params['weight']=''
35
- params['latest_date']=''
36
-
37
- for row in rows:
38
- latest_bmi=str(bmi(float(row[2]),float(row[3])))
39
- date= sqlite2google(row[1])
40
- records=records+"[new Date("+date+"),25,"+latest_bmi+",22,18.5,],\n\t"
41
- weight_hist=weight_hist+"[new Date("+date+"),"+str(row[3])+",],\n\t"
42
- params['bmi']=latest_bmi
43
- params['height']=str(row[2])
44
- params['weight']=str(row[3])
45
- params['latest_date']=sqlite2fmt(row[1],'/')
46
- params['himando']=himan
47
-
48
-
49
- if len(records)>0:
50
- params["records"]=records
51
-
52
- if len(weight_hist)>0:
53
- params["weight_hist"]=weight_hist
54
-
55
- return template('./views/health-bmi.html', params)
56
-
57
- ```
58
-
59
- ■HTML
60
-
61
- <table class="table">
62
- <tr><th>測定日</th><td>{{latest_date}}</td></tr>
63
- <tr><th>体重</th><td>{{weight}}</td></tr>
64
- <tr><th>身長</th><td>{{height}} </td></tr>
65
- <tr><th>BMI</th><td>{{bmi}}</td></tr>
66
- <tr><th>肥満度</th><td>【ここに肥満度を表示したい】</td></tr>
67
- </table>
68
-
69
-
70
-
71
- ### 試したこと
72
-
73
- pramsに['himando']を追加し以下の分岐を単独で作成したが、
74
- これをどう実装していいか見当がつかない。
75
-
76
- ```PYTHON
77
-
78
- if himan < 18.5:
79
- result = "痩せ型"
80
- elif (himan >= 18.5) and (himan < 25):
81
- result = "標準体型"
82
- elif (himan >= 25) and (himan < 30):
83
- result = "肥満(軽)"
84
- else:
85
- result = "肥満(重)"
86
-
87
- ```
88
-
89
-
90
-
91
7
  ### 補足情報(FW/ツールのバージョンなど)
92
8
 
93
- PYTHON 3.8
9
+ 再考します。

2

コードとインデントを修正

2020/06/30 03:47

投稿

Hironori1998
Hironori1998

スコア0

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
8
 
9
- 肥満度をHTMLテンプレートに反映すべく値をReturnしたが、エラーになる
9
+ 肥満度をBMIから算出して、HTMLテンプレートに反映した
10
10
 
11
11
 
12
12
  ### 該当のソースコード
@@ -70,9 +70,10 @@
70
70
 
71
71
  ### 試したこと
72
72
 
73
- 以下の分岐を単独で作成した。
74
- かし、上記ソースコードに埋め込むとエラーになってまい解決に辿り着けない。
73
+ pramsに['himando']を追加以下分岐を単独で作成たが、
74
+ これをどう実装していいか見当がつかない。
75
75
 
76
+ ```PYTHON
76
77
 
77
78
  if himan < 18.5:
78
79
  result = "痩せ型"
@@ -83,8 +84,10 @@
83
84
  else:
84
85
  result = "肥満(重)"
85
86
 
87
+ ```
86
88
 
87
89
 
90
+
88
91
  ### 補足情報(FW/ツールのバージョンなど)
89
92
 
90
93
  PYTHON 3.8

1

コードインデントを修正

2020/06/30 01:52

投稿

Hironori1998
Hironori1998

スコア0

title CHANGED
File without changes
body CHANGED
@@ -13,9 +13,10 @@
13
13
 
14
14
  ■PYTHON
15
15
 
16
+ ```PYTHON
17
+ @route('/health-bmi', 'GET')
16
18
  def health_bmi():
17
19
  '''
18
- テンプレートのhtmlにグラフ描画のデータを埋め込み
19
20
  '''
20
21
  app_session = request.environ.get('beaker.session')
21
22
  params=read_settings(app_session['account_id'])
@@ -42,6 +43,8 @@
42
43
  params['height']=str(row[2])
43
44
  params['weight']=str(row[3])
44
45
  params['latest_date']=sqlite2fmt(row[1],'/')
46
+ params['himando']=himan
47
+
45
48
 
46
49
  if len(records)>0:
47
50
  params["records"]=records
@@ -51,6 +54,8 @@
51
54
 
52
55
  return template('./views/health-bmi.html', params)
53
56
 
57
+ ```
58
+
54
59
  ■HTML
55
60
 
56
61
  <table class="table">