- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
#coding=utf8
#Ввод коэффициентов
def inputVar():
a=raw_input('Enter a')
b=raw_input('Enter b')
c=raw_input('Enter c')
return a,b,c
#Вывод исходного уравнения в виде ax^2+bx+c=0
def printHeader(a,b,c):
import math
ax2=str(a)*bool(a)*bool(a-1)+'x^2'*bool(a)+'+'*bool(b+math.fabs(b))*bool(a)
bx1=str(b)*bool(b)*bool(b-1)+'x'*bool(b)+'+'*bool(c+math.fabs(c))*bool(bool(a)+bool(b))
cx0=str(c)*bool(c)+'0'*bool(not(bool(bool(a)+bool(b)+bool(c))))
print '\n\nУравнение:',ax2+bx1+cx0+' = 0'
#Подсчет и вывод корней уравнения
def printRoots(a,b,c):
D=b**2-4*a*c
import math
import cmath
if a:
if D>0:
x1=(-b+math.sqrt(D))/(2*a)
x2=(-b-math.sqrt(D))/(2*a)
print "Корни уравнения:\n","x1 =",x1,"\nx2 =",x2
if D==0:
x1=(-b)/(2*a)
x2=x1
print "Корень уравнения:\n","x1 = x2 =",x1
if D<0:
print "Корни уравнения:"
print 'x1 = '+str((-b)/(2*a))*bool(b)+'+'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
print 'x2 = '+str((-b)/(2*a))*bool(b)+'-'*bool(b)+str(cmath.sqrt(D)/(2*math.fabs(a)))
elif b:
x1=-c/b
x2=x1
print'Корень уравнения:\n','x =',x1
elif c:
print'Уравнение неверно'
else:
print'Уравнение верно'
#Тело программы
a,b,c=inputVar()
a=int(a); b=int(b); c=int(c)
printHeader(a,b,c)
printRoots(a,b,c)
byss 04.03.2011 17:59 # +3