可以幫幫忙嗎,只要一個結果就OK辣
uj5u.com熱心網友回復:
5,5 距離18uj5u.com熱心網友回復:
j = [(1, 5), (2, 8), (5, 1), (7, 6), (8, 3)]
# 距離初始值
result = 1000
# 坐標初始值
X, Y = 0, 0
for x in range(9):
for y in range(9):
number = []
# 回圈判斷距離
for i in j:
num = pow((pow((x-i[0]), 2)+pow((y-i[1]), 2)), 1/2)
number.append(num)
# 計算總距離是否為最小值
if sum(number) < result:
X = x
Y = y
result = sum(number)
print(X, Y, result)
uj5u.com熱心網友回復:
import mathlist_x = [0,1,2,3,4,5,6,7,8]
list_y = [0,1,2,3,4,5,6,7,8]
list_guest = [[1,5],[2,8],[5,1],[7,6],[8,3]]
max_len,max_X,max_Y, len = 0, 0, 0, 0
for X in list_x:
for Y in list_y:
for guest in list_guest:
len = len + math.sqrt((X-guest[0])**2+(Y-guest[1])**2)
if max_len < len:
max_len = len
max_X = X
max_Y = Y
len = 0
print(max_len, max_X, max_Y)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/133209.html
上一篇:大佬們來救救小白
下一篇:Python初學問題
