编辑: You—灰機 | 2015-06-20 |
1 智力问答测试功能介绍 智力问答测试,内容涉及历史、经济、风情、民俗、地理、人文等古今中外各方面的 知识,让玩家在轻松娱乐、益智、搞笑的同时不知不觉地增长知识.在答题过程中对做对、做 错进行实时跟踪,测试完成后能根据玩家的答题情况给出成绩.程序运行界面如图 3-1 所示. 图3-1 智力问答测试程序的运行界面 3.2 程序设计的思路 程序使用了一个 SQLite 试题库 test2.db,其中每个智力问答由题目、4 个选项和正确 答案组成(question、Answer_A、Answer_B、Answer_C、Answer_D、right_Answer) .在 测试前,程序从试题库 test2.db 读取试题信息,存储到 values 列表中.在测试时,顺序从 values 列表读出题目显示在 GUI 界面中供用户答题.在进行界面设计时,智力问答题目是 标签控件,4 个选项是单选按钮控件,在 下一题 按钮单击事件中实现题目切换和对错 判断,如果正确则得分 score 加10 分,错误不加分,并判断用户是否做完.在 结果 按 从入门到实战――爬虫、游戏和机器学习
74 Python 项目案例开发 钮单击事件中实现得分 score 的显示. 3.3 关键技术 从Python2.5 版本以上就内置了 SQLite3, 所以在 Python 中使用 SQLite 不需要安装任何东西,直接使用.SQLite3 数据库使用 SQL 语言.SQLite 作为后端数据库,可以制作有数据存储需求的工具.Python 标准库中的 SQLite3 提供该数据库的接口. 3.3.1 访问数据库的步骤 从Python2.5 开始,SQLite3 就成了 Python 的标准模块,这也是 Python 中的唯一一个 数据库接口类模块,大大方便了用户使用 Python SQLite 数据库开发小型数据库应用系统. Python 的数据库模块有统一的接口标准,所以数据库操作有统一的模式,操作数据库 SQLite3 主要分为以下几步:
1 导入 Python SQLite 数据库模块 Python 标准库中带有 sqlite3 模块,可直接导入: import sqlite3
2 建立数据库连接,返回 Connection 对象 使用数据库模块的 connect()函数建立数据库连接,返回连接对象 con. con=sqlite3.connect(connectstring) #连接到数据库,返回 sqlite3.connection 对象 说明:connectstring 是连接字符串.对于不同的数据库连接对象,其连接字符串的格 式不同,sqlite 的连接字符串为数据库的文件名,例如 E:\test.db .如果指定连接字符串 为memory,则可创建一个内存数据库.例如: import sqlite3 con=sqlite3.connect( E:\\test.db ) 如果 E 盘下的 test.db 存在, 则打开数据库;
否则在该路径下创建数据库 test.db 并打开.
3 创建游标对象 使用游标对象能够灵活地对从表中检索出的数据进行操作,就本质而言,游标实际上 是一种能从包括多条数据记录的结果集中每次提取一条记录的机制. 调用 con.cursor()创建游标对象 cur: cur=con.cursor() #创建游标对象
4 使用 Cursor 对象的 execute()方法执行 SQL 命令返回结果集 调用 cur.execute()、cur.executemany()、cur.executescript()方法查询数据库. ? cur.execute(sql):执行 SQL 语句. ? cur.execute(sql, parameters):执行带参数的 SQL 语句. 视频讲解
75 第3章数据库应用――智力问答测试
03 ? cur.executemany(sql, seq_of_pqrameters):根据参数执行多次 SQL 语句. ? cur.executescript(sql_script):执行 SQL 脚本. 例如创建一个表 category. cur.execute( create table category(id primary key, sort, name) ) 此时将创建一个包含