ループの実行を制御する
よくあるパターンとして、条件が True の while ループを作り、break 文で終了させます。
この演習では、マネージャーから「米国で貿易黒字(プラス)のあった直近5年分の年を集める」よう依頼されています。辞書 nea は、各年の datetime をキーに、その年の純輸出額を表す浮動小数点数を値とするマッピングです。空のリスト surplus_years と、datetime 型の query_date が用意されています。
この演習はコースの一部です
Intermediate Python for Finance
演習の手順
- 常に真になる条件でループを作成します。
- 純輸出がゼロ未満のステップはスキップします。
- 収集できた黒字年の数を確認します。
- 5年分集まったらループを停止します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Loop while true
while ____:
net_exports = nea.get(query_date, -1)
query_date = datetime(query_date.year - 1, 1, 1)
# Skip if net exports are not positive
if net_exports < 0:
----
surplus_years.append(query_date)
# Check if 5 years have been collected
____ len(surplus_years) == 5:
# Stop the loop
----
print(surplus_years)