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

回答編集履歴

2

追記

2018/04/21 15:34

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -24,4 +24,29 @@
24
24
  else:
25
25
  print("No data")
26
26
  ```
27
- 基本的には同様の話ですね。data[0][1]で条件を満たし、print("Untrained")が実行されます。ここまでは良いけど、ループはもう一回回り、今度は満たされる条件がないのでprint("No data")が実行されます。
27
+ 基本的には同様の話ですね。data[0][1]で条件を満たし、print("Untrained")が実行されます。ここまでは良いけど、ループはもう一回回り、今度は満たされる条件がないのでprint("No data")が実行されます。
28
+
29
+ ### 追記
30
+ 書いてみました。
31
+ ```python
32
+ from collections import defaultdict
33
+
34
+ data_list = [["50", "65.0", "77.5", "107.5", "132.5"],
35
+ ["55.0", "65.0", "77.5", "107.5", "132.5"]]
36
+ rank_list = ["Untrained", "Novice", "Intermediate", "Advance", "Elite"]
37
+ data = {"67":
38
+ defaultdict(lambda : "No data",
39
+ dict(zip(data_list[0], rank_list))),
40
+ "75":
41
+ defaultdict(lambda : "No data",
42
+ dict(zip(data_list[1], rank_list)))}
43
+
44
+ body_weight = input("What is your body weight? ")
45
+
46
+ if body_weight in data:
47
+ bench_press = input("Enter your bench press kg, please ")
48
+ print(data[body_weight][bench_press])
49
+ else:
50
+ print("No data")
51
+ ```
52
+ pythonにはswitch文がありませんが、辞書を使うとそれに近いことができます。

1

追記

2018/04/21 15:34

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
File without changes