2014-01-07 37 views
-1

在python中我真的很新,我想創建一個代碼,要求您輸入座標並返回平面中2個點之間的距離。這是我的代碼:我的2點距離代碼在python 3中返回語法錯誤

def 2pointdistance(d): 
    print(d) 

xa = int(input("x1?: ")) 
xaa = int(input("x2?: ")) 
ya = int(input("y1?: ")) 
yaa = int(input("y2?: ")) 
xx = x1 - x2 
yy = y1 - y2 
xxx = xx ** 2 
yyy = yy ** 2 
xy = xxx + yyy 
d = sqrt(xy) 

2pointdistance(d) 

希望你能幫我這個問題,我真的很喜歡這個語言 PS:對不起,我的英語,從智利IM

+2

什麼是語法錯誤?爲什麼你在'2pointdistance'中包裝'print'語句?有什麼意義,還請使用有意義的變量名稱。 – skiwi

+0

甚至更​​重要的是,爲什麼你讀取變量xa,ya ane的數據然後使用x1和x2?它必須導致錯誤 – lejlot

+0

哎呀,我忘了更改變量,我已經非常乾淨整潔,但後來它出現了錯誤和絕望 – agos46

回答

1
  1. 函數名稱不應與數字
  2. 你的整個代碼(邏輯)啓動應該是在功能,而不只是打印語句
  3. 您可以定義不同的變量,那麼實際使用

它應該是類似於

def distance(x1,x2,y1,y2): 
    xx = x1 - x2 
    yy = y1 - y2 
    xxx = xx ** 2 
    yyy = yy ** 2 
    xy = xxx + yyy 
    return sqrt(xy) 

x1 = int(input("x1?: ")) 
x2 = int(input("x2?: ")) 
y1 = int(input("y1?: ")) 
y2 = int(input("y2?: ")) 

print(distance(x1, x2, y1, y2)) 
0

2pointdistance不是一個功能的有效名稱。名稱不應以數字開頭。

The docs詳細解釋它,但重點是函數名稱應該以字母或下劃線開頭。