Discuss / Python / 交作业

交作业

Topic source
import os, sqlite3

db_file = os.path.join(os.path.dirname(__file__), '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('test.db')
    cursor = conn.cursor()
    cursor.execute('select name from user where score>=? and score<=? order by score', (low,high))
    values = cursor.fetchall()
    L = [x[0] for x in values]
    print('成绩介于%d和%d之间的同学有:'%(low,high),L)
#    scoresort = sorted(values,key=score,reverse=True)
#    print(scoresort)
    cursor.close()
    conn.close()

get_score_in(60, 95)
get_score_in(70, 95)
get_score_in(80, 95)

  • 1

Reply