回答編集履歴

2

追記

2018/04/21 15:34

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -51,3 +51,53 @@
51
51
  ```
52
52
 
53
53
  基本的には同様の話ですね。data[0][1]で条件を満たし、print("Untrained")が実行されます。ここまでは良いけど、ループはもう一回回り、今度は満たされる条件がないのでprint("No data")が実行されます。
54
+
55
+
56
+
57
+ ### 追記
58
+
59
+ 書いてみました。
60
+
61
+ ```python
62
+
63
+ from collections import defaultdict
64
+
65
+
66
+
67
+ data_list = [["50", "65.0", "77.5", "107.5", "132.5"],
68
+
69
+ ["55.0", "65.0", "77.5", "107.5", "132.5"]]
70
+
71
+ rank_list = ["Untrained", "Novice", "Intermediate", "Advance", "Elite"]
72
+
73
+ data = {"67":
74
+
75
+ defaultdict(lambda : "No data",
76
+
77
+ dict(zip(data_list[0], rank_list))),
78
+
79
+ "75":
80
+
81
+ defaultdict(lambda : "No data",
82
+
83
+ dict(zip(data_list[1], rank_list)))}
84
+
85
+
86
+
87
+ body_weight = input("What is your body weight? ")
88
+
89
+
90
+
91
+ if body_weight in data:
92
+
93
+ bench_press = input("Enter your bench press kg, please ")
94
+
95
+ print(data[body_weight][bench_press])
96
+
97
+ else:
98
+
99
+ print("No data")
100
+
101
+ ```
102
+
103
+ pythonにはswitch文がありませんが、辞書を使うとそれに近いことができます。

1

追記

2018/04/21 15:34

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
File without changes