Files

97 lines
3.3 KiB
Python
Raw Permalink Normal View History

2026-06-27 02:21:09 +00:00
import sqlite3
import json
def create_db():
# Connect to the database (or create it if it doesn't exist)
conn = sqlite3.connect('qple_quiz.db')
cursor = conn.cursor()
# Create the QuizQuestions table
# Based on inferred fields: Category, Question, Choices (MultipleChoiceList), Answer, Explanation
cursor.execute('''
CREATE TABLE IF NOT EXISTS QuizQuestions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
category TEXT,
question_text TEXT,
choice1 TEXT,
choice2 TEXT,
choice3 TEXT,
choice4 TEXT,
correct_answer INTEGER,
explanation TEXT,
difficulty TEXT,
subject TEXT DEFAULT '',
passage TEXT,
image_url TEXT,
correct_answer_str TEXT,
raw_json TEXT
)
''')
# Sample data reflecting the app's themes (Financial, Job, General Certificate)
quiz_data = [
(
'금융(Financial)',
'다음 중 유동자산에 해당하지 않는 것은?',
'현금', '외상매출금', '단기대여금', '토지',
4,
'토지는 비유동자산(유형자산)에 해당합니다.',
'Normal'
),
(
'직무(Job)',
'프로젝트 관리에서 SWOT 분석의 요소가 아닌 것은?',
'강점(Strength)', '기회(Opportunity)', '위협(Threat)', '수익(Profit)',
4,
'SWOT 분석은 강점(Strength), 약점(Weakness), 기회(Opportunity), 위협(Threat)의 약자입니다.',
'Easy'
),
(
'자격증(Certificate)',
'정보처리기사: OSI 7계층 중 물리적 전송 매체와 관련된 계층은?',
'물리 계층', '데이터 링크 계층', '네트워크 계층', '전송 계층',
1,
'물리 계층(Physical Layer)은 실제 장치와 전송 매체 간의 물리적인 연결을 담당합니다.',
'Hard'
),
(
'금융(Financial)',
'주식 시장에서 KOSPI 지수의 기준 시점은?',
'1980년 1월 4일', '1990년 1월 4일', '2000년 1월 4일', '1970년 1월 4일',
1,
'KOSPI 지수는 1980년 1월 4일의 시가총액을 100으로 설정하여 계산합니다.',
'Normal'
)
]
# Insert sample data
cursor.executemany('''
INSERT INTO QuizQuestions (category, question_text, choice1, choice2, choice3, choice4, correct_answer, explanation, difficulty)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
''', quiz_data)
# Create a table for App Configuration as well
cursor.execute('''
CREATE TABLE IF NOT EXISTS AppConfig (
key TEXT PRIMARY KEY,
value TEXT
)
''')
config_data = {
"serverUrl": "https://qple-api-prod.qpleapp.com/",
"googlePacketVersion": "1.5.1",
"applePacketVersion": "1.5.1"
}
for key, value in config_data.items():
cursor.execute('INSERT OR REPLACE INTO AppConfig (key, value) VALUES (?, ?)', (key, value))
# Save (commit) the changes and close the connection
conn.commit()
conn.close()
print("Database 'qple_quiz.db' created and populated successfully.")
if __name__ == "__main__":
create_db()