Tschyp / fluffy-potato-generator

0 stars 0 forks source link

Klasszikus masodfoku egyenlet #15

Open kpeter990 opened 8 years ago

kpeter990 commented 8 years ago

"""Egyenletek megoldása."""

import math

def masodfoku(a, b, c): """Az ax*2 + bx + c = 0 másodfokú egyenlet gyökeit adja vissza.

Paraméterek:
- a, b, c: az egyenlet együtthatói

Visszatérési érték:
Ha léteznek valós gyökök, akkor (x1, x2), ahol x1 és az x2 a gyökök,
különben (None, None).

Példák:

>>> masodfoku(1, 2, 1)
(-1.0, -1.0)
>>> masodfoku(1,1,1)
(None, None)
>>> masodfoku(1,-5,6)
(3.0, 2.0)
"""

diszkr = b*b - 4*a*c
if diszkr < 0:
    return None, None
else:
    x1 = (-b + math.sqrt(diszkr)) / (2*a)
    x2 = (-b - math.sqrt(diszkr)) / (2*a)
    return x1, x2

def elsofoku(b, c): """A bx + c = 0 elsőfokú egyenlet gyökeit adja vissza.

Paraméterek:
- a, b: az egyenlet együtthatói

Példák:

>>> elsofoku(8,2)
-0.25
>>> elsofoku(2,-8)
4.0

"""

return -c/b
kpeter990 commented 8 years ago

from math import sqrt def masodfoku(a, b, c): D = b_2 - 4_a_c if D < 0: print "Nincs valós gyök." return elif D == 0: print "Kettős (valós) gyök van." else: print "Két eltérő valós gyök van." x1 = -b + sqrt(D) x1 /= 2_a x2 = -b - sqrt(D) x2 /= 2a return x1, x2

nagyangelika90 commented 8 years ago

import math, cmath

a= input('Kérem a másodfokú egyenlet főegyütthatóját: ') a= float(a) while a==0: print('Ez nem lesz másodfokú egyenlet; nem oldom meg.') a= input('Kérem a másodfokú egyenlet főegyütthatóját: ') a= float(a)

b= input('Kérem az elsőfokú tag együtthatóját: ') c= input('Kérem a konstans tagot: ') b= float(b) c= float(c)

d= b_b-4_a*c print('A diszkrimináns értéke', d)

if d>=0: print('Van valós megoldás.') x1= (-b-math.sqrt(d))/(2_a) x2= (-b+math.sqrt(d))/(2_a) print('Az egyik megoldás', x1) print('A másik megoldás', x2) else: print('Nincs valós megoldás.') x1= (-b-cmath.sqrt(d))/(2_a) x2= (-b+cmath.sqrt(d))/(2_a) print('Az egyik megoldás', x1) print('A másik megoldás', x2)