当前位置: 首页 > 新闻资讯  > 教材管理系统

基于Python实现的教材管理系统

本文通过对话形式展示了如何使用Python开发一个简单的教材管理系统,涉及数据库设计与操作,以及学生信息管理。

Alice

嗨,Bob!我最近在学习Python,想做一个小项目来巩固知识。你有什么好的建议吗?

 

Bob

当然有啦!你可以尝试做一个教材管理系统。这不仅能帮助学校管理员高效管理教材,还能让你熟悉Python的基础知识。

 

Alice

听起来不错!那我们需要哪些功能呢?

 

Bob

基本功能包括添加教材信息、删除教材、查询教材以及更新教材状态等。此外,还可以扩展一些高级功能,比如根据学生姓名查询其所需教材。

 

Alice

明白了!那我们先从最基础的数据库设计开始吧。你觉得用哪种数据库合适?

 

Bob

SQLite是一个很好的选择,它轻量级且不需要复杂的安装过程。我们可以用Python中的sqlite3模块来操作它。

 

Alice

好的!接下来是代码部分。首先,我们需要创建数据库表。

 

import sqlite3

 

# 连接数据库

conn = sqlite3.connect('textbook.db')

cursor = conn.cursor()

 

# 创建教材表

教材管理系统

cursor.execute('''

CREATE TABLE IF NOT EXISTS textbook (

id INTEGER PRIMARY KEY AUTOINCREMENT,

name TEXT NOT NULL,

author TEXT,

year INT,

quantity INT

)

''')

 

print("教材表已成功创建!")

 

Bob

很棒!现在我们可以写一个函数来插入教材信息了。

 

def add_textbook(name, author, year, quantity):

conn = sqlite3.connect('textbook.db')

cursor = conn.cursor()

cursor.execute('''

INSERT INTO textbook (name, author, year, quantity)

VALUES (?, ?, ?, ?)

''', (name, author, year, quantity))

conn.commit()

print(f"教材《{name}》已成功添加!")

 

Alice

太好了!接下来让我们试试查询教材信息。

 

def query_textbook_by_name(name):

conn = sqlite3.connect('textbook.db')

cursor = conn.cursor()

cursor.execute('SELECT * FROM textbook WHERE name LIKE ?', ('%' + name + '%',))

results = cursor.fetchall()

if results:

for row in results:

print(row)

else:

print("未找到相关教材。")

 

Bob

最后,我们还需要一个主程序来整合这些功能。

 

def main():

while True:

print("\n教材管理系统")

print("1. 添加教材")

print("2. 查询教材")

print("3. 退出")

 

choice = input("请选择操作:")

if choice == '1':

name = input("请输入教材名称:")

author = input("请输入作者:")

year = int(input("请输入出版年份:"))

quantity = int(input("请输入库存数量:"))

add_textbook(name, author, year, quantity)

elif choice == '2':

name = input("请输入要查询的教材名称:")

query_textbook_by_name(name)

elif choice == '3':

print("感谢使用教材管理系统!")

break

else:

print("无效输入,请重新选择。")

 

if __name__ == "__main__":

main()

 

Alice

太棒了!现在我们有了一个完整的教材管理系统。下一步可以试着增加更多功能,比如删除教材或更新库存。

 

Bob

没错!继续加油吧,Alice!

本站部分内容及素材来源于互联网,如有侵权,联系必删!

相关资讯

    暂无相关的数据...