回答編集履歴

2

補足

2018/07/15 15:10

投稿

tachikoma
tachikoma

スコア3601

test CHANGED
@@ -43,3 +43,53 @@
43
43
 
44
44
 
45
45
  strはPythonの予約語のひとつなので、変数名には使わないことをオススメします。
46
+
47
+
48
+
49
+ ----
50
+
51
+ 補足
52
+
53
+
54
+
55
+ dictはキーの重複は許されませんが、valueの重複は問題がありません。
56
+
57
+ ```Python
58
+
59
+ num2str = {
60
+
61
+ 440: 'A',
62
+
63
+ 880: 'A',
64
+
65
+ 1760: 'A'
66
+
67
+ }
68
+
69
+ ```
70
+
71
+ ただし、これで変換してしまうと元の音程が不定になるので
72
+
73
+ ```Python
74
+
75
+ # 数値->文字列
76
+
77
+ num2str = {
78
+
79
+ 440: 'A4',
80
+
81
+ 880: 'A5',
82
+
83
+ 1760: 'A6'
84
+
85
+ }
86
+
87
+
88
+
89
+ # 文字列->数値
90
+
91
+ str2num = {v: k for k, v in num2str.items()}
92
+
93
+ ```
94
+
95
+ としておくと、数値と文字列を行き来できていいかもしれませんね。

1

strは変数名に使わないほうがいい。

2018/07/15 15:10

投稿

tachikoma
tachikoma

スコア3601

test CHANGED
@@ -39,3 +39,7 @@
39
39
  print(num2str[4])
40
40
 
41
41
  ```
42
+
43
+
44
+
45
+ strはPythonの予約語のひとつなので、変数名には使わないことをオススメします。