Найти - Пользователи
Полная версия: Квадратное уравнение - неправильное решение
Начало » Python для новичков » Квадратное уравнение - неправильное решение
1
FILLIPO
Не могу понять ошибку. Следующий код работает, только для уравнения, например, 5x^2 + 10x - 15 = 0, получаются не положенные “1” и “-3”, а загадочные “25.0” и “-75.0”. Уже весь монитор проел насквозь, но ошибки в формулах не вижу! Подскажите пожалуйста, может это глюки какие? Код такой:

a = input(“Input a:”)
b = input(“Input b:”)
c = input(“Input c:”)
D = b**2 - 4 * a * c
if D == 0:
print(“There is one root”)
import math
x=-b/2*a
print “x =” , x
raw_input(“Operation completed. Press enter to exit”)
elif D > 0:
print(“There are two roots”)
import math
x1 = (-b + math.sqrt(D))/2*a
x2 = (-b - math.sqrt(D))/2*a
print “x1 =” , x1, “x2 =” , x2
raw_input(“Operation completed. Press enter to exit”)
else:
print (“There are no roots”)
raw_input(“Press enter to exit”)
ReinRaus
FILLIPO
Не могу понять ошибку. Следующий код работает, только для уравнения, например, 5x^2 + 10x - 15 = 0, получаются не положенные “1” и “-3”, а загадочные “25.0” и “-75.0”. Уже весь монитор проел насквозь, но ошибки в формулах не вижу! Подскажите пожалуйста, может это глюки какие? Код такой:

a = input(“Input a:”)
b = input(“Input b:”)
c = input(“Input c:”)
D = b**2 - 4 * a * c
if D == 0:
print(“There is one root”)
import math
x=-b/2*a
print “x =” , x
raw_input(“Operation completed. Press enter to exit”)
elif D > 0:
print(“There are two roots”)
import math
x1 = (-b + math.sqrt(D))/2*a
x2 = (-b - math.sqrt(D))/2*a
print “x1 =” , x1, “x2 =” , x2
raw_input(“Operation completed. Press enter to exit”)
else:
print (“There are no roots”)
raw_input(“Press enter to exit”)
твоя ошибка в том, что -b/2*a это тоже самое что и -b*a/2. Правильно будет -b/2/a желательно еще указать, что деление не челочисленное вот так: -b/2./a
FILLIPO
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB