Python を使って数か月しか経っていないので、ばかげた質問をしていたら申し訳ありません。変数を使用して辞書名を呼び出すのに問題があります。
問題は、変数を使用してディクショナリ & [] 演算子を呼び出すと、Python がコードを解釈して、ディクショナリ リスト内のものではなく文字列内の 1 文字を返そうとすることです。
例で説明すると...以下のような辞書リストがあるとしましょう。
USA={'Capital':'Washington',
'Currency':'USD'}
Japan={'Capital':'Tokyo',
'Currency':'JPY'}
China={'Capital':'Beijing',
'Currency':'RMB'}
country=input("Enter USA or JAPAN or China? ")
print(USA["Capital"]+USA["Currency"]) #No problem -> WashingtonUSD
print(Japan["Capital"]+Japan["Currency"]) #No problem -> TokyoJPY
print(China["Capital"]+China["Currency"]) #No problem -> BeijingRMB
print(country["Capital"]+country["Currency"]) #Error -> TypeError: string indices must be integers
上記の例では、インタープリターは「国」の値を辞書ではなく文字列と見なすため、整数を期待していることを理解しています... たとえば、日本を入力として国 [2] を入力した場合、それは文字「p」を返します。しかし、明らかにそれは私の意図ではありません。
これを回避する方法はありますか?