Rownanie kwadratowe

0

Witam
Mam za zadanie napisać w pythonie wyrażenie warunkowe korzystając z wartości logicznych, które dla podanych a, b, c uprości się do rozwiązania równania kwadratowego. Byłbym bardzo wdzięczny, gdyby ktoś napisał jak to należy napisać.

import math
a = 2
b = 3
c = -5
delta = ((b*b)-(4*a*c))

y = ( a==0 and a<0 or ['a musi byc wieksze od 0']  or ((-b)-math.sqrt(delta)/2*a) and ((-b)+math.sqrt(delta)/2*a) )   
print y 
0

Napisz po swojemu a w razie problemu napisz na forum bo nie wiadomo czego oczekujesz - gotowego rozwiązania czy pomocy (jeśli tak to napisz jaki masz problem).

0

kacper546 jezeli moglbys to bym poprosil o rozwiazanie, bo nie udalo mi sie wiecej wykombinowac niz to co wstawilem

0

Masz podstawy

import math
a = 3
b = 3
c = -5
delta = ((b*b)-(4*a*c))
 
if(a<1):
 y = 'a musi byc wieksze od 0'
else:
 y=((-b)-math.sqrt(delta)/2*a)
print y 

Dalej z tym męcz się sam ;)

0

t0m3k__ nie o takie rozwiazanie mi chodzilo, poniewaz napisalem ze program ma korzystac tylko z wyrazenia warunkowego w takiej postaci (bool and [a] or [b])[0] oraz bez instrukcji warunkowych i petli

0
import math
a,b,c = 2,3,-5
x1,x2 = None, None
delta = (b*b)-(4*a*c)

sdel = math.sqrt(delta) 
if sdel < 0:
    print 'Rownanie nie ma rozwiazania'
elif sdel == 0:
    x1 = -b/(2*a)
    print 'Rownanie ma 1 podwojny pierwiastek: ', x1
else:
    x1 = (-b - sdel) / (2*a)
    x2 = (-b + sdel) / (2*a)
    print 'Rownanie ma 2 rozwiazania: %d oraz %d' %(x1, x2)


    
2

Na szybko... sprawdź...

# -*- coding: utf-8 -*-
import math

a = 2
b = 3
c = -5

delta = b ** 2 - 4 * a * c

wynik = ((delta < 0) and "Brak pierwiastków") or \
((delta == 0) and ("x = {}".format(-b / (2 * a)))) or \
((delta > 0) and ("x1 = {}, x2 = {}".format((-b - math.sqrt(delta)) / (2 * a), (-b + math.sqrt(delta)) / (2 * a))))

print wynik
0

madmike o dokladnie o to mi chodzilo, tylko wyniki sie nie zgadzaja bo powinno byc x1 = 1 oraz x2 = -2.5

1 użytkowników online, w tym zalogowanych: 0, gości: 1