私は Python に非常に慣れていないので、演習として、コードを使用して基本的な金融演習を解いてみました。私の目的は、スポット レートのディクショナリと、それらから計算された割引率のディクショナリを取得することです。私は次のようなことを考えていました:
discountrates={}
def discountrates(n):
spotrates={}
for x in range(1,n+1):
spotrates['s'+str(x)]=float(input('What is s'+str(x)+'? (not in percentage)'))
for y in range(1,n+1):
discountrates['d(0,'+str(y)+')']= 1/((1+float(spotrates['s'+str(y)]))**y)
for key, value in discountrates.items():
print (key, value)
問題は、関数内で辞書項目にアクセスできないことです。フォーラムを調べたところ、辞書をアンパックするための解決策が見つかりましたが、名前を完全に指定できない辞書の特定の要素にアクセスする必要があるため、私の場合はうまくいきません (Python マニュアルで見たように)。これはループの一部であるため、他のものを手動で挿入しなくても式を機能させることができます。最初は辞書を使って自動生成された名前を作成していましたが、今では情報を取得できないようです。
最善の解決策は何ですか?
助けてくれてありがとう。それは私を夢中にさせてきました。