Discuss / Python / 作业

作业

Topic source

import osimport sqlite3def init_file():    db_file = os.path.join(os.path.dirname(__file__), 'test.db')    if os.path.exists(db_file):        os.remove(db_file)def init_db():    connect = sqlite3.connect('test.db')    cursor = connect.cursor()    try:        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)")    finally:        cursor.close()        connect.commit()        connect.close()def get_score_in(low, high):    connect = sqlite3.connect('test.db')    cursor = connect.cursor()    try:        cursor.execute('select * from user ')        values = cursor.fetchall()        temps = list()        for id, name, score in values:            if low <= score <= high:                temps.append([name, score])        temps.sort(key=lambda x: x[1], reverse=False)        return [k for k, y in temps]    finally:        cursor.close()        connect.close()if __name__ == '__main__':    init_file()    init_db()    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('Pass')
import os
import sqlite3


def init_file():
    db_file = os.path.join(os.path.dirname(__file__), 'test.db')
    if os.path.exists(db_file):
        os.remove(db_file)


def init_db():
    connect = sqlite3.connect('test.db')
    cursor = connect.cursor()
    try:
        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)")
    finally:
        cursor.close()
        connect.commit()
        connect.close()


def get_score_in(low, high):
    connect = sqlite3.connect('test.db')
    cursor = connect.cursor()
    try:
        cursor.execute('select * from user ')
        values = cursor.fetchall()
        temps = list()
        for id, name, score in values:
            if low <= score <= high:
                temps.append([name, score])
        temps.sort(key=lambda x: x[1], reverse=False)
        return [k for k, y in temps]
    finally:
        cursor.close()
        connect.close()


if __name__ == '__main__':
    init_file()
    init_db()

    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('Pass')

  • 1

Reply