Skip to content

Commit da405be

Browse files
committed
try fix build
1 parent b73e99e commit da405be

5 files changed

Lines changed: 95 additions & 87 deletions

File tree

Python/web/SDB/A1.py

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
1-
def create():
2-
open()
3-
cursor.execute('''PRAGMA foreign_keys=on''')
1+
import sqlite3
42

3+
def create():
4+
conn = sqlite3.connect('quiz.db')
5+
cursor = conn.cursor()
6+
cursor.execute('PRAGMA foreign_keys=on')
57

6-
do('''CREATE TABLE IF NOT EXISTS quiz (
8+
cursor.execute('''
9+
CREATE TABLE IF NOT EXISTS quiz (
710
id INTEGER PRIMARY KEY,
8-
name VARCHAR)''')
9-
11+
name VARCHAR)
12+
''')
1013

11-
do('''CREATE TABLE IF NOT EXISTS question (
14+
cursor.execute('''
15+
CREATE TABLE IF NOT EXISTS question (
1216
id INTEGER PRIMARY KEY,
1317
question VARCHAR,
1418
answer VARCHAR,
1519
wrong1 VARCHAR,
1620
wrong2 VARCHAR,
17-
wrong3 VARCHAR)''')
21+
wrong3 VARCHAR)
22+
''')
1823

19-
20-
do('''CREATE TABLE IF NOT EXISTS quiz_content (
24+
cursor.execute('''
25+
CREATE TABLE IF NOT EXISTS quiz_content (
2126
id INTEGER PRIMARY KEY,
2227
quiz_id INTEGER,
2328
question_id INTEGER,
2429
FOREIGN KEY (quiz_id) REFERENCES quiz (id),
25-
FOREIGN KEY (question_id) REFERENCES question (id) )''')
26-
close()
30+
FOREIGN KEY (question_id) REFERENCES question (id) )
31+
''')
32+
33+
conn.close()

Python/web/SDB/A2.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1+
import sqlite3
2+
13
def add_questions():
24
questions = [
35
('Сколько месяцев в году имеют 28 дней?', 'Все', 'Один', 'Ни одного', 'Два'),
46
('Каким станет зелёный утёс, если упадёт в Красное море?', 'Мокрым', 'Красным', 'Не изменится', 'Фиолетовым'),
57
('Какой рукой лучше размешивать чай?', 'Ложкой', 'Правой', 'Левой', 'Любой'),
68
('Что не имеет длины, глубины, ширины, высоты, а можно измерить?', 'Время', 'Глупость', 'Море', 'Воздух'),
7-
('Когда сетью можно вытянуть воду?', 'Когда вода замёрзла', 'Когда нет рыбы', 'Когда уплыла золотая рыбка', 'Когда сеть порвалась'),
9+
('Когда сетью можно вытянуть воду?', 'Когда вода замёрзла', 'Когда нет рыбы', 'Когда уплыла золотая рыбка', 'Когда пусто'),
810
('Что больше слона и ничего не весит?', 'Тень слона', 'Воздушный шар', 'Парашют', 'Облако')
911
]
10-
open()
12+
conn = sqlite3.connect('quiz.db')
13+
cursor = conn.cursor()
1114
cursor.executemany('''INSERT INTO question (question, answer, wrong1, wrong2, wrong3) VALUES (?,?,?,?,?)''', questions)
1215
conn.commit()
13-
close()
16+
conn.close()
1417

1518

1619
def add_quiz():
@@ -19,15 +22,17 @@ def add_quiz():
1922
('Кто хочет стать миллионером?', ),
2023
('Самый умный', )
2124
]
22-
open()
25+
conn = sqlite3.connect('quiz.db')
26+
cursor = conn.cursor()
2327
cursor.executemany('''INSERT INTO quiz (name) VALUES (?)''', quizes)
2428
conn.commit()
25-
close()
29+
conn.close()
2630

2731

2832
def add_links():
29-
open()
30-
cursor.execute('''PRAGMA foreign_keys=on''')
33+
conn = sqlite3.connect('quiz.db')
34+
cursor = conn.cursor()
35+
cursor.execute('PRAGMA foreign_keys=on')
3136
query = "INSERT INTO quiz_content (quiz_id, question_id) VALUES (?,?)"
3237
answer = input("Добавить связь (y / n)?")
3338
while answer != 'n':
@@ -36,4 +41,4 @@ def add_links():
3641
cursor.execute(query, [quiz_id, question_id])
3742
conn.commit()
3843
answer = input("Добавить связь (y / n)?")
39-
close()
44+
conn.close()

Python/web/SDB/A3.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
1-
def get_question_after(question_id = 0, quiz_id=1):
2-
''' возвращает следующий вопрос после вопроса с переданным id
3-
для первого вопроса передаётся значение по умолчанию '''
4-
open()
1+
import sqlite3
2+
3+
def get_question_after(question_id=0, quiz_id=1):
4+
'''
5+
возвращает следующий вопрос после вопроса с переданным id
6+
для первого вопроса передаётся значение по умолчанию
7+
'''
8+
conn = sqlite3.connect('quiz.db')
9+
cursor = conn.cursor()
510
query = '''
611
SELECT quiz_content.id, question.question, question.answer, question.wrong1, question.wrong2, question.wrong3
712
FROM question, quiz_content
813
WHERE quiz_content.question_id == question.id
914
AND quiz_content.id > ? AND quiz_content.quiz_id == ?
10-
ORDER BY quiz_content.id '''
11-
cursor.execute(query, [question_id, quiz_id] )
15+
ORDER BY quiz_content.id
16+
'''
17+
cursor.execute(query, [question_id, quiz_id])
1218
result = cursor.fetchone()
13-
close()
19+
conn.close()
1420
return result

Python/web/Sessions/quiz.py

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,36 @@
22
from flask import Flask, session, redirect, url_for
33
from db_scripts import get_question_after
44

5-
6-
75
def index():
8-
max_quiz = 3
9-
# или если ученик написал get_quiz_count(), то можно её импортировать и указать:
10-
# max_quiz = get_quiz_count[0]
11-
session['quiz'] = randint(1, max_quiz)
12-
# или если ученик написал get_random_quiz_id(), то можно её импортировать и указать:
13-
# session['quiz'] = get_random_quiz_id()
14-
session['last_question'] = 0
15-
return '<a href="/test">Тест</a>'
16-
6+
max_quiz = 3
7+
# или если ученик написал get_quiz_count(), то можно её импортировать и указать:
8+
# max_quiz = get_quiz_count[0]
9+
session['quiz'] = randint(1, max_quiz)
10+
# или если ученик написал get_random_quiz_id(), то можно её импортировать и указать:
11+
# session['quiz'] = get_random_quiz_id()
12+
session['last_question'] = 0
13+
return '<a href="/test">Тест</a>'
14+
1715
def test():
18-
result = get_question_after(session['last_question'], session['quiz'])
19-
if result is None or len(result) == 0:
20-
return redirect(url_for('result'))
21-
else:
22-
session['last_question'] = result[0]
23-
# если мы научили базу возвращать Row или dict, то надо писать не result[0], а result['id']
24-
return '<h1>' + str(session['quiz']) + '<br>' + str(result) + '</h1>'
25-
16+
result = get_question_after(session['last_question'], session['quiz'])
17+
if result is None or len(result) == 0:
18+
return redirect(url_for('result'))
19+
else:
20+
session['last_question'] = result[0]
21+
# если мы научили базу возвращать Row или dict, то надо писать не result[0], а result['id']
22+
return '<h1>' + str(session['quiz']) + '<br>' + str(result) + '</h1>'
23+
2624
def result():
27-
return "that's all folks!"
28-
25+
return "that's all folks!"
26+
2927
# Создаём объект веб-приложения:
30-
app = Flask(__name__)
28+
app = Flask(__name__)
3129
app.add_url_rule('/', 'index', index) # создаёт правило для URL '/'
3230
app.add_url_rule('/test', 'test', test) # создаёт правило для URL '/test'
33-
app.add_url_rule('/result', 'result', result) # создаёт правило для URL '/test'
31+
app.add_url_rule('/result', 'result', result) # создаёт правило для URL '/result'
3432
# Устанавливаем ключ шифрования:
3533
app.config['SECRET_KEY'] = 'ThisIsSecretSecretSecretLife'
36-
34+
3735
if __name__ == '__main__':
38-
# Запускаем веб-сервер:
39-
app.run()
36+
# Запускаем веб-сервер:
37+
app.run()
Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,40 @@
11
from random import randint
2-
from flask import Flask, session, redirect, url_for
2+
from flask import Flask, redirect, url_for
33
from db_scripts import get_question_after
4-
4+
55
quiz = 0
66
last_question = 0
7-
8-
def index():
9-
global quiz, last_question
10-
max_quiz = 3
11-
# или если ученик написал get_quiz_count(), то можно её импортировать и указать:
12-
# max_quiz = get_quiz_count[0]
13-
quiz = randint(1, max_quiz)
14-
# или если ученик написал get_random_quiz_id(), то можно её импортировать и указать:
15-
# session['quiz'] = get_random_quiz_id()
16-
17-
18-
last_question = 0
19-
return '<a href="/test">Тест</a>'
20-
217

8+
def index():
9+
global quiz, last_question
10+
max_quiz = 3
11+
# или если ученик написал get_quiz_count(), то можно её импортировать и указать:
12+
# max_quiz = get_quiz_count[0]
13+
quiz = randint(1, max_quiz)
14+
# или если ученик написал get_random_quiz_id(), то можно её импортировать и указать:
15+
# quiz = get_random_quiz_id()
16+
last_question = 0
17+
return '<a href="/test">Тест</a>'
2218

2319
def test():
24-
global last_question
25-
result = get_question_after(last_question, quiz)
26-
if result is None or len(result) == 0:
27-
return redirect(url_for('result'))
28-
20+
global last_question
21+
result = get_question_after(last_question, quiz)
22+
if result is None or len(result) == 0:
23+
return redirect(url_for('result'))
24+
else:
25+
last_question = result[0]
26+
# если мы научили базу возвращать Row или dict, то надо писать не result[0], а result['id']
27+
return '<h1>' + str(quiz) + '<br>' + str(result) + '</h1>'
2928

30-
else:
31-
last_question = result[0]
32-
# если мы научили базу возвращать Row или dict, то надо писать не result[0], а result['id']
33-
return '<h1>' + str(quiz) + '<br>' + str(result) + '</h1>'
34-
3529
def result():
36-
return "that's all folks!"
30+
return "that's all folks!"
3731

38-
39-
4032
# Создаём объект веб-приложения:
41-
app = Flask(__name__)
33+
app = Flask(__name__)
4234
app.add_url_rule('/', 'index', index) # создаёт правило для URL '/'
4335
app.add_url_rule('/test', 'test', test) # создаёт правило для URL '/test'
44-
app.add_url_rule('/result', 'result', result) # создаёт правило для URL '/test'
45-
36+
app.add_url_rule('/result', 'result', result) # создаёт правило для URL '/result'
37+
4638
if __name__ == '__main__':
47-
# Запускаем веб-сервер:
48-
app.run()
39+
# Запускаем веб-сервер:
40+
app.run()

0 commit comments

Comments
 (0)