2015-09-15 5 views
-1

Это мой первый раз при переполнении стека. Я написал эту простую программу в Python для решения формулы расстояния. Однако, когда я запускаю этот код, он говорит о синтаксической ошибке, подчеркивающей переменную a. Любые советы будут глубоко оценены. СпасибоФормула расстояния Python

import math 


def distance(a,b,c,d): 
    print("distance formula solver") 
    return(math.sqrt((a-b)**2) + (math.sqrt((c-d)**2)) 


a = int(input("Enter X1")) 
b = int(input("Emter X2")) 
c = int(input("Enter Y1")) 
d = int(input("Enter Y2")) 

e = distance(a,b,c,d) 

print(e) 
+1

У вас есть несбалансированные круглые скобки. – juanchopanza

+1

'return (math' никогда не закрывается. Мне кажется, что вы чувствуете себя неловко, просто глядя на него. –

ответ

-1

Ваше возвращение заявление имеет дополнительную открывающую скобку. Убери это.

return(math.sqrt((a-b)**2) + (math.sqrt((c-d)**2)) 

return math.sqrt((a-b)**2) + (math.sqrt((c-d)**2)) 

я научился делать это путем подсчета через линию: добавить 1 для каждого открытого Paren, вычтите по одному для каждого близко. Вы должны быть в нуле в конце строки и не должны идти отрицательно в любой момент.

return(math.sqrt((a-b)**2) + (math.sqrt((c-d)**2)) 
     1   23 2 1 2   34 3 21 ... oops 
+1

Если у вас есть какой-либо текстовый редактор, удобный для перевода, вы можете поместить курсор в одну скобку, а другая будет выделена. – Prune

+0

, обратите внимание, что ваш расчет расстояний неверен. Сначала вы добавляете квадраты, затем вы берете квадратный корень из этой суммы. Должен быть только один вызов sqrt. – Prune

+0

Не так много ответов на вопрос, который должен быть закрыт за опечатку или тривиальная ошибка. – juanchopanza

-1

Juanchopanza правильно, добавьте скобку в конце:

return(math.sqrt((a-b)**2) + (math.sqrt((c-d)**2)))