python3におけるKeyErrorについて
pythonを勉強し始めた者です。
「N個の座標(x,y)に対し、それぞれの原点からの距離を求め、距離が小さいものから順に5つ足したものを出力する」
という問題があったとします。入力は以下の通りです。
一行目がN、以下が各x y座標とします。
7
1 2
3 4
6 5
4 2
8 9
3 5
3 2
それに対し、自分は以下のように作成しました。
import math
L = {}
XN = {}
YN = {}
value = 0
count = 0
N = int(input())
for i in range(N):
XN[i], YN[i] = map(int, input().split())
L[i] = math.sqrt(XN[i]**2+YN[i]**2)
while(count < 5):
min = 999
for i in range(N):
if(min>L[i]):
min = L[i]
num = i
value = value + min
count = count + 1
del L[i]
print(value)
すると,while内のif(min>L[i])にて
KeyErrorが発生してしまいました。
dic型は同一関数内でも別ループ内では使用できないのでしょうか?