このプログラミングの宿題に取り組んでいます。現在、1つのタプルの値のペアをリストのタプルペアと比較することに固執しています。組のタプルをタプルペアのリストと比較する
ペアは基本的にx座標とy座標です。リストからタプルペアに最も近いものを見つける必要があります。一例として、ポイント(-4, 3)
とリスト[(10, 6), (1, 7), (6, 3), (1, 9)]
が与えられた場合、最も近いものは(1, 7)
となる。
これらの数値は、プログラミングのランダムな部分で常に変化しますが、上記は関数として定義されています。ここでは全体のことです。私が何をしようとしています何
def nearest(point, more_points):
'''
Finds the nearest point to the base point
'''
(x, y) = point
for i, j in more_points:
a = math.fabs(x - i)
tempI = i
b = math.fabs(y - j)
tempJ = j
tempA, tempB = a , b
if min(tempA) < a:
point =()
my_points = []
c = 0
lpoint = list(point)
while c < 2:
lpoint.append(random.randrange(-5,5,1)) # generate the "point"
c += 1
tpoint = tuple(lpoint)
c = 0
colx = [] # x points
coly = [] # y points
# generate the points
while c < 4:
colx.append(random.randint(0,10))
coly.append(random.randint(0,10))
c += 1
my_point = list(zip(colx,coly))
print(my_point)
the_nearest = nearest(tpoint,my_point)
print(the_nearest)
は、Xを取る時点で、yとし、「その他」のポイントを取り、その差を取得し、「最も近いを見つけるためにそれを使用することです"しかし、私は失われ、私は立ち往生しています。フォーカスは、ユーザー定義関数にあります。
はあなたが適切なインデントを作るためにあなたのコードを編集することはできますか?機能に含まれるものとそうでないものについては不明です。 – FunkySayu
@FunkySayu残念ですがstackoverflowを使用するのに慣れていませんでしたが、 – Gary
'if min(tempA) FunkySayu