您的位置:首页 > 编程语言 > Python开发

Python实现函数,在Sqlite中根据分数段查找指定的名字

2016-05-16 12:02 726 查看
首先在本地建立一个 test.db 的文件。然后接下来用下面的代码进行测试,读取数据。解题分析:
代码块的功能是利用sqlit3链接数据库,并且创建用户表。
插入数据,进行查询,然后再利用输入的数字大小的区间,
返回出符合区间之间的姓名、
代码:
#-*- coding:utf-8 -*-'''代码块的功能是利用sqlit3链接数据库,并且创建用户表。插入数据,进行查询,然后再利用输入的数字大小的区间,返回出符合区间之间的姓名、'''import os, sqlite3db_file = os.path.join(os.path.dirname('__file__'), 'E:/codes/python/test.db')if os.path.isfile(db_file):os.remove((db_file))conn = sqlite3.connect(db_file)cursor = conn.cursor()cursor.execute("create table user(id varchar(20) primary key, name varchar(20), score int)")cursor.execute(r"insert into user values('A-001', 'Adam', 95)")cursor.execute(r"insert into user values('A-002', 'Bart', 62)")cursor.execute(r"insert into user values('A-003', 'Lisa', 78)")cursor.close()conn.commit()conn.close()def get_score_in(low, high):conn =sqlite3.connect(db_file)cursor = conn.cursor()cursor.execute('select name from user where score between ? and ? order by score ASC', (low, high))records = cursor.fetchall()cursor.close()conn.close()names = [x[0] for x in records]return names#debug代码:print ('接下来为调试部分\n')print ('调试开始-----------》\n')assert get_score_in(80, 95) == ['Adam'], get_score_in(80, 95)assert get_score_in(60, 80) == ['Bart', 'Lisa'], get_score_in(60, 80)assert get_score_in(60, 100) == ['Bart', 'Lisa', 'Adam'], get_score_in(60, 100)print ('调试结束-----------》\n')res1 = get_score_in(60, 100)res2 = get_score_in(60, 70)res3 = get_score_in(70, 80)print (res1)print (res2)print (res3)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: