したがって、私は国名と対応する株価指数で辞書を持っています。ユーザーは5つの異なる国を入力するよう求められ、プログラムは対応する5つの株価指数をとり、データで何かを実行します。キーが辞書にないときに例外処理を使ってforループを作成するには?
国が見つかった場合は入力を求められますが、これは5回発生します。さて、例外が処理される部分は、私が望んだことをしていません。私のループや例外処理で何が問題になっていますか?
ex_dict = {'United States': '^GSPC','United States of America': '^GSPC', 'Usa': '^GSPC', 'Argentina': '^MERV'} #shortened on purpose
countries = []
print('Please choose five stock exchanges to analyse,')
print('just name the corresponding countries \n')
for i in range(0, 5):
while True:
try:
countr = input('Please enter country no. %d: ' %(i+1))
countr = countr.title()
if countr in ex_dict.keys():
print('Found the corresponding stock index! \n')
countries.append(countr)
break
except KeyError:
print('Country not found, please try again! \n')
あなたは何をしたいと思いますか?代わりに何をしますか? –
KeyErrorに遭遇することはないので、KeyErrorをキャッチする必要はありません。 ex_dictではif countrの代わりに 'if countr in ex_dict'も使用してください。keys() ' – sisanared
KeyErrorのキャッチではなく単純なelse文で問題を解決します – armak