-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
141 lines (113 loc) · 3.58 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
from flask import Flask, render_template
from flask import request, jsonify
from random import randint
import sqlite3
from pathlib import Path
app = Flask(__name__)
db_path = Path("points_data.db")
conn=sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS points_data (
id INTEGER PRIMARY KEY AUTOINCREMENT,
points INTEGER
)
''')
conn.commit()
conn.close()
def add_points(points):
conn=sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute('''
INSERT INTO points_data (points)
VALUES (?)
''', (points,))
conn.commit()
conn.close()
def get_points():
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute("SELECT SUM(points) FROM points_data")
total_points = cursor.fetchone()[0]
conn.close()
return total_points
def getSumPoints():
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute("SELECT SUM(points) FROM points_data")
total_points = cursor.fetchone()[0]
conn.close()
return total_points
def getQuestion(howbig, difference, html):
qn1 = randint(1, howbig)
qn2 = randint(1, howbig)
questionint = qn1 * qn2
question = str(qn1) + "x" + str(qn2)
smramount = randint(1, 3)
a1 = questionint
a2 = questionint
a3 = questionint
if smramount == 1:
correctAnswer = "a1"
if randint(1, 2) == 1:
a2 = questionint + randint(1, difference)
else:
a2 = questionint - randint(1, difference)
if randint(1, 2) == 1:
a3 = questionint + randint(1, difference)
else:
a3 = questionint - randint(1, difference)
elif smramount == 2:
correctAnswer = "a2"
if randint(1, 2) == 1:
a1 = questionint + randint(1, difference)
else:
a1 = questionint - randint(1, difference)
if randint(1, 2) == 1:
a3 = questionint + randint(1, difference)
else:
a3 = questionint - randint(1, difference)
else:
correctAnswer = "a3"
if randint(1, 2) == 1:
a1 = questionint + randint(1, difference)
else:
a1 = questionint - randint(1, difference)
if randint(1, 2) == 1:
a2 = questionint + randint(1, difference)
else:
a2 = questionint - randint(1, difference)
return render_template(html, question=question, answer=correctAnswer, a1=a1, a2=a2, a3=a3, total_points=getSumPoints())
@app.route("/")
def index():
return render_template('index.html',total_points=getSumPoints())
@app.route("/add_1point", methods=["POST"])
def add_1point():
add_points(1)
return jsonify({"message": "Point added successfully"})
@app.route("/add_3points", methods=["POST"])
def add_3points():
add_points(3)
return jsonify({"message": "Point added successfully"})
@app.route("/add_10points", methods=["POST"])
def add_10points():
add_points(10)
return jsonify({"message": "Point added successfully"})
@app.route("/add_20points", methods=["POST"])
def add_20points():
add_points(20)
return jsonify({"message": "Point added successfully"})
@app.route("/small1x1")
def small1x1():
return getQuestion(10, 5, 'small1x1.html')
@app.route("/1x1upto20")
def upto20():
return getQuestion(20, 12, '1x1upto20.html')
@app.route("/1x1upto50")
def upto50():
return getQuestion(50, 15, '1x1upto50.html')
@app.route("/1x1upto100")
def upto100():
return getQuestion(100, 25, '1x1upto100.html')
if __name__ == '__main__':
app.run(debug=True, port=5500, host='0.0.0.0')