def quadratic_results(request): '''reshenie kvadratnogo uravneniya''' x,x1,x2 = 0, 0, 0 koren, diskrimin = '', '' form = QuadraticForm() if request.method == 'GET': form = QuadraticForm(request.GET) if form.is_valid(): a = form.cleaned_data['a'] b = form.cleaned_data['b'] c = form.cleaned_data['c'] diskriminant = b**2 - 4*a*c if diskriminant < 0: diskrimin = 'Дискриминант: %d' % diskriminant koren = 'Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений.' elif diskriminant == 0: x = -b/2.0*a diskrimin = 'Дискриминант: %d' % diskriminant koren = 'Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %.1f' %x elif diskriminant > 0: x1 = (-b + diskriminant ** (1/2.0))/(2*a) x2 = (-b - diskriminant ** (1/2.0))/(2*a) diskrimin = 'Дискриминант: %d' % diskriminant koren = 'Квадратное уравнение имеет два действительных корня: x1 = %.1f, x2 = %.1f' % (x1, x2) else: form = QuadraticForm() dic = {'form':form, 'x':x, 'x1':x1, 'x2':x2, 'diskrimin':diskrimin, 'koren':koren} return render(request, 'results.html', dic)
def quadratic_results(request): discrim = None final_message = None if request.method == "GET" and len(request.GET): form = QuadraticForm(request.GET) if form.is_valid(): if form.clean_a(): a = int(request.GET['a']) b = int(request.GET['b']) c = int(request.GET['c']) discrim = b**2 - 4 * a * c if discrim < 0: final_message = messages['mes5'] if discrim == 0: x1 = -b/2*a final_message = ''.join(messages['mes6'] + str(round(float(x1), 1))) if discrim > 0: x1 = (-b+discrim**0.5)/(2*a) x2 = (-b-discrim**0.5)/(2*a) final_message = ''.join(messages['mes4'] + 'x1 = ' + str(round(float(x1), 1)) + ', x2 = ' + str(round(float(x2), 1))) discrim = int(discrim) else: form = QuadraticForm() return render(request, 'quadratic/results.html', { 'discrim':discrim, 'final_message':final_message, 'form':form})
def quadratic_results(request): if request.method == 'GET': form = QuadraticForm(request.GET) d_data = {'d': '', 'd_desc': ''} if form.is_valid(): d_data = d_calculate(form.cleaned_data['a'], form.cleaned_data['b'], form.cleaned_data['c']) context = { 'd_value': d_data['d'], 'd_details': d_data['d_desc'], 'form': form, } else: form = QuadraticForm() context = { 'form': form } return render(request, 'quadratic/results.html', context)
def quadratic_results(request): text_result = {} d = x = x1 = x2 = None if request.GET: form = QuadraticForm(request.GET) if form.is_valid(): a = form.cleaned_data['a'] b = form.cleaned_data['b'] c = form.cleaned_data['c'] d = b**2-4*a*c # discriminant if d < 0: d = d elif d == 0: x = (-b+math.sqrt(d))/2*a else: x1 = (-b+math.sqrt(d))/2*a x2 = (-b-math.sqrt(d))/2*a text_result.update({'discriminant': d, 'x': x, 'x1': x1, 'x2': x2}) else: form = QuadraticForm() text_result.update({'form': form}) return render(request, 'quadratic/results.html', text_result)
def quadratic_results(request): if request.method == "GET": form = QuadraticForm(request.GET) context = {'form': form} if form.is_valid(): a = int(form['a'].value()) b = int(form['b'].value()) c = int(form['c'].value()) discr = b * b - 4 * a * c if discr == 0: x1 = - b / (2.0 * a) x1 = round(x1, 1) discr_msg = "Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = {0}".format(x1) elif discr < 0: discr_msg = "Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений." else: x1 = (- b + discr ** (1/2.0)) / (2 * a) x2 = (- b - discr ** (1/2.0)) / (2 * a) x1 = round(x1, 1) x2 = round(x2, 1) round(x1, 1) discr_msg = "Квадратное уравнение имеет два действительных корня: x1 = {0}, x2 = {1}".format(x1, x2) context['discr_msg'] = discr_msg context['discr'] = discr elif form['a'].value() == form['b'].value() == form['c'].value() == None: context['form'] = QuadraticForm() return render(request, 'results.html', context)
def quadratic_results(request): if request.GET == {}: form = QuadraticForm() return render(request, 'quadratic/results.html', {"form" : form}) if request.method == "GET": form = QuadraticForm(request.GET) if form.is_valid(): data = form.cleaned_data #a = request.GET['a'] #b = request.GET['b'] #c = request.GET['c'] a = data['a'] b = data['b'] c = data['c'] # 'warning_'+'a' dic = {'a': a, 'b': b, 'c': c} war_a = '' war_b = '' war_c = '' x = '' same_root = '' des = '' des_warn = '' x1 = '' x2 = '' root_mes = '' x = '' same_root = '' if a == '': a = '' war_a = 'коэффициент не определен' elif a == '0': war_a = 'коэффициент при первом слагаемом уравнения не может быть равным нулю' #elif not a.replace('-', '').isdigit(): #elif not a.isdigit(): # war_a = 'коэффициент не целое число' if b == '': b = '' war_b = 'коэффициент не определен' #elif not b.replace('-', '').isdigit(): # war_b = 'коэффициент не целое число' if c == '': c = '' war_c = 'коэффициент не определен' #elif not c.replace('-', '').isdigit(): #last check if c=digit add check war_a and war_b # war_c = 'коэффициент не целое число' if war_a == '' and war_b == '' and war_c == '': a = int(a) b = int(b) c = int(c) des = b**2-4*a*c if des < 0: des_warn = 'Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений.' x1 = '' x2 = '' root_mes = '' x = '' same_root = '' elif des == 0: des_warn = '' x1 = '' x2 = '' root_mes = '' x = (-b+math.sqrt(b**2-4*a*c))/2*a same_root = 'Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %s' % x else: des_warn = '' x1 = (-b+math.sqrt(b**2-4*a*c))/2*a x2 = (-b-math.sqrt(b**2-4*a*c))/2*a root_mes = 'Квадратное уравнение имеет два действительных корня: x1 = %s, x2 = %s' % (x1, x2) s = { 'a': a, 'b': b, 'c': c, 'warning_a': war_a, 'warning_b': war_b, 'warning_c': war_c, 'des': des, 'des_warn': des_warn, 'x1': x1, 'x2': x2, 'root_mes': root_mes, 'x': x, 'same_root': same_root, 'form' : form } return render(request, 'quadratic/results.html', s) else: form = QuadraticForm(request.GET) return render(request, 'quadratic/results.html', {"form" : form}) else: form = QuadraticForm() return render(request, 'quadratic/results.html', {"form" : form})