(1)
nearest_distの初期値を10000に設定しているのは、11行目変数distの計算結果よりも上の数なら何でもいいからとりあえず10000に設定しているのでしょうか?
(2)
15行目nearest_cap = pref_capitals[key]なのですが、なぜpref_capitals[key]をnearest_capに代入して、16行目でprintすると一番小さい値のvalueである、"青森県(青森市)"が出力されるのでしょうか?
python
1# 県庁所在地と緯度/経度をディクショナリに登録 2# タプルの緯度/経度をキーにする 3pref_capitals = {(43.06417, 141.34694):"北海道(札幌)",(40.82444, 140.74):"青森県(青森市)",(39.70361, 141.1525):"岩手県(盛岡市)"} 4 5loc = (41.768793, 140.72881) # 調べたい地点の緯度,経度 6nearest_cap = '' # 最寄りの県庁所在地名を保存する変数 7nearest_dist = 10000 # 最寄りの地点までの距離を保存する変数 8for key in pref_capitals.keys(): # キーでループ 9 # 緯度経度の差を二乗して距離を計算 10 dist = (loc[0]-key[0])**2+(loc[1]-key[1])**2 11 if nearest_dist > dist: 12 # より近い地点が見つかったので,変数を入れ替え 13 nearest_dist = dist 14 nearest_cap = pref_capitals[key] 15print(nearest_cap)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 08:29 編集