def quadratic_results(request): disc = {} text_result = {} 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'] disc['message'] = "Дискриминант: " disc['value'] = b**2-4*a*c if disc['value'] < 0: text_result['message'] = u"Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений." elif disc['value'] == 0: x = (-b + disc['value'] ** (1/2.0)) / 2*a text_result['message'] = u"Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = " text_result['value'] = x else: x1 = (-b + disc['value'] ** (1/2.0)) / 2*a x2 = (-b - disc['value'] ** (1/2.0)) / 2*a text_result['message'] = u"Квадратное уравнение имеет два действительных корня: " text_result['value'] = u"x1 = %.1f, x2 = %.1f" % (x1, x2) else: form = QuadraticForm() out_result = context = {"disc":disc, "text_result":text_result, "form":form} return render(request,'results.html', out_result)
def quadratic_results(request): form = QuadraticForm() context={} 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'] discr = b**2 - 4*a*c if discr == 0: context['d'] = discr x = -b/ 2.0*a context['message'] = str('Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %s' % x) if discr < 0: context['d'] = discr context['message'] = str('Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений.') if discr > 0: context['d'] = discr x1 = str((-b + discr ** (1/2.0)) / 2*a) x2 = str((-b - discr ** (1/2.0)) / 2*a) context['message'] = str('Квадратное уравнение имеет два действительных корня: x1 = %s, x2 = %s' % (x1, x2)) else: form = QuadraticForm() context['form'] = form return render(request,'quadratic/results.html', context)
def quadratic(request): context={} if request.method == 'GET' and request.GET.keys(): form = QuadraticForm(request.GET) if form.is_valid(): a = context['a'] = request.GET.get('a','') b = context['b'] = request.GET.get('b','') c = context['c'] = request.GET.get('c','') context['d'] = float(b)**2 - 4*float(a)*float(c) d = context['d'] if d > 0 and int(a) != 0: context['descr'] = 'Дискриминант: %d' %d context['x1'] = (-float(b) + float(d) ** (1/2.0)) / 2*float(a) context['x2'] = (-float(b) - float(d) ** (1/2.0)) / 2*float(a) print context['x2'] print context['x1'] context['result'] = "Квадратное уравнение имеет два действительных корня: x1 = %.1f, x2 = %.1f" % (context['x1'] + 0, context['x2'] + 0) elif d < 0: context['descr'] = 'Дискриминант: %d' %d context['result'] = "Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений." elif d == 0 and int(a) != 0: context['descr'] = 'Дискриминант: %d' %d context['x1'] = (-float(b) + float(d) ** (1/2.0)) / 2.0*float(a) context['result'] = "Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %.1f" % (context['x1'] + 0) else: form = QuadraticForm() context['form'] = form return render(request, 'quadratic/results.html', context)
def quadratic_results(request): context = {} 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'] discriminant = b * b - 4 * a * c if discriminant > 0: context['x1'] = (-b + sqrt(discriminant)) / (2 * a) context['x2'] = (-b - sqrt(discriminant)) / (2 * a) elif discriminant == 0: context['x1'] = (-b - sqrt(discriminant))/(2 * a) context['discriminant'] = discriminant else: form = QuadraticForm() context['form'] = form return render(request, 'results.html', context)
def quadratic_results(request): result = {} message = None discr = 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'] discr = b*b - 4*a*c if discr < 0: message = "Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений." elif discr == 0: x = round((-b + discr**(1/2.0)) / 2*a, 1) message = "Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %s" %x else: x1 = round((-b + discr**(1/2.0)) / 2*a, 1) x2 = round((-b - discr**(1/2.0)) / 2*a, 1) message = "Квадратное уравнение имеет два действительных корня: x1 = %s, x2 = %s" %(x1,x2) result['d'] = 'Дискриминант: %d' %discr result['message'] = message else: form = QuadraticForm() result['form'] = form return render(request, "quadratic/results.html", result)
def quadratic_results(request): import math, cmath output_request = {} output_request['calculate'] = False if request.GET: temp_form = QuadraticForm(request.GET) if temp_form.is_valid(): output_request['calculate'] = True a = temp_form.cleaned_data['a'] b = temp_form.cleaned_data['b'] c = temp_form.cleaned_data['c'] output_request['D'] = b**2 - 4*a*c if output_request['D'] > 0: output_request['x1'] = float((-b + math.sqrt(output_request['D']))/(2*a)) output_request['x2'] = float((-b - math.sqrt(output_request['D']))/(2*a)) elif output_request['D'] == 0: output_request['x1'] = output_request['x2'] = float(-b / 2*a) elif output_request['D'] < 0: output_request['x1'] = complex((-b + cmath.sqrt(output_request['D']))/(2*a)) output_request['x2'] = complex((-b - cmath.sqrt(output_request['D']))/(2*a)) else: temp_form = QuadraticForm() output_request['form'] = temp_form return render(request,'quadratic/results.html',output_request)
def quadratic_results(request): context={} if request.method == 'GET' and request.GET.keys(): form = QuadraticForm(request.GET) if form.is_valid(): a = context['a'] = request.GET.get('a','') b = context['b'] = request.GET.get('b','') c = context['c'] = request.GET.get('c','') context['d'] = float(b)**2 - 4*float(a)*float(c) d = context['d'] if d > 0 and int(a) != 0: context['descr'] = 'Дискриминант: %d' %d context['x1'] = (-float(b) + float(d) ** (1/2.0)) / 2*float(a) context['x2'] = (-float(b) - float(d) ** (1/2.0)) / 2*float(a) print context['x2'] print context['x1'] context['result'] = "Квадратное уравнение имеет два действительных корня: x1 = %.1f, x2 = %.1f" % (context['x1'] + 0, context['x2'] + 0) elif d < 0: context['descr'] = 'Дискриминант: %d' %d context['result'] = "Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений." elif d == 0 and int(a) != 0: context['descr'] = 'Дискриминант: %d' %d context['x1'] = (-float(b) + float(d) ** (1/2.0)) / 2.0*float(a) context['result'] = "Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %.1f" % (context['x1'] + 0) else: form = QuadraticForm() context['form'] = form return render(request, 'quadratic/results.html', context)
def quadratic_results(request): if request.method == 'GET': form = QuadraticForm(request.GET) disc = {} text_result = {} if form.is_valid(): a = int(request.GET['a']) b = int(request.GET['b']) c = int(request.GET['c']) disc['message'] = "Дискриминант: " disc['value'] = b**2 - 4*a*c if disc['value'] < 0: text_result['message'] = "Дискриминант меньше нуля, уравнение не имеет действительных решений." elif disc['value'] == 0: x = (-b + disc['value'] ** (1/2.0)) / 2*a text_result['message'] = "Дискриминант равен нулю, уравнение имеет один действительный корень: x1=x2 = " text_result['value'] = x else: x1 = (-b + disc['value'] ** (1 / 2.0)) / 2*a x2 = (-b - disc['value'] ** (1 / 2.0)) / 2*a text_result['message'] = "Квадратное уравнение имеет два действительных корня: " text_result['value'] = u"x1 = %.1f, x2 = %.1f" % (x1, x2) content = {"disc": disc, "text_result": text_result, 'form': form} return render(request, 'quadratic/results.html', content) else: form = QuadraticForm() return render(request, 'quadratic/results.html', {'form': form})
def quadratic_results(request): if request.GET: form = QuadraticForm(request.GET) if form.is_valid(): data = form.cleaned_data a = data['a'] b = data['b'] c = data['c'] q = Quadratic(a, b, c) context = {'q': q, 'form': form} return render(request, 'quadratic/results.html', context) return render(request, 'quadratic/results.html', {'form': form}) else: form = QuadraticForm() return render(request, 'quadratic/results.html', {'form': form})
def quadratic_results(request): x1 = None x2 = None d = None 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'] d = discr(a,b,c) if d == 0: x1 = x2 = deq(a, b) elif d > 0: temp = dbig(a, b, c) x1 = temp['1'] x2 = temp['2'] return render(request,'quadratic/results.html',{'form':form,'d':d,'x1':x1,'x2':x2})
def quadratic_results(request): context = {} if request.GET: form = QuadraticForm(request.GET) context['form'] = QuadraticForm(request.GET) if form.is_valid(): a = form.cleaned_data['a'] b = form.cleaned_data['b'] c = form.cleaned_data['c'] context['discrim'] = b ** 2 - 4 * a * c if context['discrim'] > 0: context['x1'] = float( (-b + context['discrim']**(1 / 2.0)) / (2 * a)) context['x2'] = float( (-b - context['discrim']**(1 / 2.0)) / (2 * a)) elif int(context['discrim']) == 0: context['x1'] = context[ 'x2'] = float(-b / (2 * a)) else: context['form'] = QuadraticForm() return render(request, 'quadratic/results.html', context)
def quadratic_results(request): discr = 'Дискриминант: %d' dis_less_null = 'Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений.' dis_eq_null = 'Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %s' two_roots = 'Квадратное уравнение имеет два действительных корня: x1 = %s, x2 = %s' empty_str = '' comment_dsc = empty_str comment_result = empty_str if request.GET: form = QuadraticForm(request.GET) if form.is_valid(): got_data = form.cleaned_data qe = QuadraticEquation(got_data) dsc = qe.get_discr() if dsc > 0: x1 = qe.get_eq_root() x2 = qe.get_eq_root(order=2) comment_dsc = discr % dsc comment_result = two_roots % (round(x1,1), round(x2,1)) elif dsc < 0: comment_dsc = discr % dsc comment_result = dis_less_null elif dsc == 0: x1 = qe.get_eq_root() comment_dsc = discr % dsc comment_result = dis_eq_null % round(x1,1) else: form = QuadraticForm(request.GET) else: form = QuadraticForm() site_view = { 'comment_discr': comment_dsc, 'comment_result': comment_result, 'form': form,} return render(request, 'quadratic/results.html', site_view)
def quadratic_results(request): a = request.GET['a'] b = request.GET['b'] c = request.GET['c'] not_spec = 'коэффициент не определен' not_int = 'коэффициент не целое число' not_null = 'коэффициент при первом слагаемом уравнения не может быть равным нулю' discr = 'Дискриминант: %d' dis_less_null = 'Дискриминант меньше нуля, квадратное уравнение не имеет действительных решений.' dis_eq_null = 'Дискриминант равен нулю, квадратное уравнение имеет один действительный корень: x1 = x2 = %s' two_roots = 'Квадратное уравнение имеет два действительных корня: x1 = %s, x2 = %s' empty_str = '' form = QuadraticForm() print request.POST if request.method == 'POST': # create a form instance and populate it with data from the request: form = QuadraticForm(request.POST) # check whether it's valid: if form.is_valid(): print 'is valid' # process the data in form.cleaned_data as required # ... # messages for success form data: #messages.success(request, 'Form is saved!') # redirect to a new URL: #return redirect('/thanks/') # redirect возвращает код 302 вместо 200 # if a GET (or any other method) we'll create a blank form else: form = QuadraticForm(request.GET) if form.is_valid(): print 'Get is valid' else: form = QuadraticForm(request.GET) site_view = { 'head_line': 'Квадратное уравнение a*x*x + b*y + c = 0', 'a_str': 'a = %s' % a, 'comment_a': empty_str, 'b_str': 'b = %s' % b, 'comment_b': empty_str, 'c_str': 'c = %s' % c, 'comment_c': empty_str, 'comment_discr': empty_str, 'comment_result': empty_str, 'form': form, } def chk_gigit(d='', dig=False): if not d: ret = not_spec elif not re.match(r'^-?\d+', d): ret = not_int else: ret = empty_str dig = True return [ret, dig] def chk_gigit_a(a='', dig=False): if a.isdigit() and int(a) == 0: ret = not_null dig = False else: ret = chk_gigit(a)[0] dig = chk_gigit(a)[1] return [ret, dig] if chk_gigit_a(a)[1] and chk_gigit(b)[1] and chk_gigit(c)[1]: qe = QuadraticEquation(int(a), int(b), int(c)) dsc = qe.get_discr() site_view['comment_discr'] = discr % dsc if dsc < 0: res_mes = dis_less_null else: x1 = qe.get_eq_root() print x1 x2 = qe.get_eq_root(order=2) print x1 if x1 == x2: res_mes = dis_eq_null % round(x1,1) else: res_mes = two_roots % (round(x1,1), round(x2,1)) site_view['comment_result'] = res_mes else: site_view['comment_a'] = chk_gigit_a(a)[0] site_view['comment_b'] = chk_gigit(b)[0] site_view['comment_c'] = chk_gigit(c)[0] return render(request, 'quadratic/results.html', site_view)