2016-10-14 3 views
-8

, когда я запускаю этот код:Ошибка в моем питона кода

import math 
print "welcome !This program will solve your quadratic equation" 

A = input("inter a =") 
B = input("inter b =") 
C = input("inter c =") 
J=math.pow(B,2)-4*A*C 
X1=-B+math.sqrt(J)/2*A 
X2=-B-(math.sqrt(J))/(2*A) 
print "your roots is :" , X1 , X2 

он дает мне ошибку?! почему спасибо^

+3

Пожалуйста, [форматируйте свой код более красиво] (http://stackoverflow.com/help/formatting), а также включайте ошибку, которую вы получаете при ее запуске –

+7

Предполагаем ли мы догадываться, что такое ошибка? И это * точно * отступ, который вы используете в своем фактическом коде? –

ответ

1

У вас нет print(). Фиксированная версия:

import math 
print("welcome !This program will solve your quadratic equation") 
A = input("inter a =") 
B = input("inter b =") 
C = input("inter c =") 
J = math.pow(B,2)-4*A*C 
X1 = -B+math.sqrt(J)/2*A 
X2 = -B-(math.sqrt(J))/(2*A) 
print("your roots is :" , X1 , X2) 

Я исправил только эти ошибки, я не знаю, правильно ли он вычисляет то, что вам нужно.

P.S Есть предложение от меня. Попробуйте найти ошибки в интерпретаторе Python по умолчанию и прочитайте код перед тем, как сдавать и задавать вопросы.

P.P.S Я также не заметил неправильного назначения переменных. Это должно быть J = (...), но не J=(...). Кроме того, у меня есть фиксированный верхний код в соответствии с этим

+0

Это зависит от того, является ли это Python2 или Python3. В Python2 вы не используете круглые скобки, поскольку это не функция, как в Python3. Может быть, хорошая информация есть :) –

+0

@TedKleinBergman Хорошо, я думаю, что должен проверить код, чтобы увидеть, произошла ли другая ошибка. – MaxLunar

+0

Ошибка в том, что он пытается арифметические операции над строкой. Вход должен быть преобразован в int. –

0

Без какой-либо информации о том, какая ошибка возникает в вашей программе, я думаю, что проблема связана с функцией math.sqrt, которая не находит сложных корней.

Поэтому я предлагаю вам использовать CMATH таким образом:

import cmath, math 
print "welcome !This program will solve your quadratic equation" 

A = input("inter a =") 
B = input("inter b =") 
C = input("inter c =") 
J=math.pow(B,2)-4*A*C 
X1=-B+cmath.sqrt(J)/2*A 
X2=-B-(cmath.sqrt(J))/(2*A) 
print "your roots is :" , X1 , X2 

Кроме того, я предлагаю вам реализовать некоторые проверки на входе, так как пользователь может вставить строку или нуль ценность (как предлагает @Ted Кляйн Бергман).

Если это не решит вашу проблему, пожалуйста, внесите изменения в свой вопрос и добавьте более подробную информацию о вашей ошибке.

Смежные вопросы