mmg/mmg/views.py

62 lines
1.3 KiB
Python

import json
import random
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.shortcuts import render
from mmg.forms import NumberForm
MAX = 12
def _generate_problem():
operation = random.choice(['+', '-'])
first = random.choice(range(MAX))
if operation == '-':
if first == 0:
second = 0
else:
second = random.choice(range(first))
else:
second = random.choice(range(MAX))
return {
'first': first,
'operation': operation,
'second': second,
}
def _validate_solution(a):
print a
f = int(a['first'])
o = a['operation']
s = int(a['second'])
if a['answer'] == '':
g = 0
else:
g = int(a['answer'])
r = False
if o == '+':
r = bool(f + s == g)
else:
r = bool(f - s == g)
return r
def home(request):
return render(request, 'index.html')
def attempt(request):
d = request.POST.dict()
return HttpResponse(
json.dumps({'status': _validate_solution(d)}),
content_type="application/json")
def problem(request):
return HttpResponse(
json.dumps(_generate_problem()),
content_type="application/json")