Python实现学生通讯录管理系统
本文将介绍如何使用Python语言实现学生通讯录管理系统。这个系统可以实现添加、删除、修改和查询学生信息等功能。
数据库
我们首先需要一个数据库来存储学生信息。我们可以选择使用sqlite3来创建一个本地的数据库。
import sqlite3
# 连接到本地数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE students
(id integer primary key autoincrement,
name text,
age integer,
gender text,
phone text,
email text)''')
# 关闭游标和连接
c.close()
conn.close()
添加学生信息
添加学生信息需要用户输入学生的姓名、年龄、性别、电话和邮箱等信息。我们可以使用Python中的input()
函数来获取用户输入。
def add_student():
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
phone = input("请输入学生电话号码:")
email = input("请输入学生邮箱:")
# 连接数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 插入数据
c.execute("INSERT INTO students (name, age, gender, phone, email) VALUES ('%s', %d, '%s', '%s', '%s')"
% (name, age, gender, phone, email))
# 提交数据并关闭游标和连接
conn.commit()
c.close()
conn.close()
print("学生信息添加成功!")
删除学生信息
删除学生信息需要用户输入学生的姓名。我们可以使用Python中的input()
函数来获取用户输入。
def delete_student():
name = input("请输入要删除的学生姓名:")
# 连接数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 删除数据
c.execute("DELETE FROM students WHERE name='%s'" % name)
# 提交数据并关闭游标和连接
conn.commit()
c.close()
conn.close()
print("学生信息删除成功!")
修改学生信息
修改学生信息需要用户输入学生的姓名和修改后的信息。我们可以先查询到要修改的学生信息,然后再进行修改。
def update_student():
name = input("请输入要修改的学生姓名:")
# 连接数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 查询数据
c.execute("SELECT * FROM students WHERE name='%s'" % name)
result = c.fetchone()
if result is None:
print("没有找到该学生信息!")
else:
# 获取修改后的信息
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
phone = input("请输入学生电话号码:")
email = input("请输入学生邮箱:")
# 更新数据
c.execute("UPDATE students SET age=%d, gender='%s', phone='%s', email='%s' WHERE name='%s'"
% (age, gender, phone, email, name))
# 提交数据并关闭游标和连接
conn.commit()
c.close()
conn.close()
print("学生信息修改成功!")
查询学生信息
查询学生信息可以根据学生姓名、年龄、性别等条件进行查询。我们可以使用Python中的input()
函数来获取用户输入。
def query_student():
print("请选择要查询的条件:")
print("1. 姓名")
print("2. 年龄")
print("3. 性别")
option = input("请选择:")
# 连接数据库
conn = sqlite3.connect('student.db')
# 获取游标
c = conn.cursor()
# 查询数据
if option == '1':
name = input("请输入学生姓名:")
c.execute("SELECT * FROM students WHERE name='%s'" % name)
elif option == '2':
age = input("请输入学生年龄:")
c.execute("SELECT * FROM students WHERE age=%d" % int(age))
elif option == '3':
gender = input("请输入学生性别:")
c.execute("SELECT * FROM students WHERE gender='%s'" % gender)
else:
print("输入有误,请重新选择!")
return
result = c.fetchall()
# 输出数据
if len(result) == 0:
print("没有找到符合条件的学生信息!")
else:
for row in result:
print("id:%d 姓名:%s 年龄:%d 性别:%s 电话:%s 邮箱:%s"
% (row[0], row[1], row[2], row[3], row[4], row[5]))
# 关闭游标和连接
c.close()
conn.close()
示例
下面是一个完整的示例,展示了如何添加、删除、修改和查询学生信息。
def main():
while True:
print("----学生通讯录管理系统----")
print("1. 添加学生信息")
print("2. 删除学生信息")
print("3. 修改学生信息")
print("4. 查询学生信息")
print("0. 退出系统")
option = input("请选择:")
if option == '1':
add_student()
elif option == '2':
delete_student()
elif option == '3':
update_student()
elif option == '4':
query_student()
elif option == '0':
break
else:
print("输入有误,请重新选择!")
运行上述代码后,用户可以通过命令行界面来操作学生通讯录管理系统,例如:
----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:1
请输入学生姓名:张三
请输入学生年龄:20
请输入学生性别:男
请输入学生电话号码:13911112222
请输入学生邮箱:zhangsan@example.com
学生信息添加成功!
----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:4
请选择要查询的条件:
1. 姓名
2. 年龄
3. 性别
请选择:2
请输入学生年龄:20
id:1 姓名:张三 年龄:20 性别:男 电话:13911112222 邮箱:zhangsan@example.com
----学生通讯录管理系统----
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
0. 退出系统
请选择:2
请输入要删除的学生姓名:张三
学生信息删除成功!
通过上述示例,我们可以看到学生通讯录管理系统的基本使用方法,用户可以根据自己的需求进行合理的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现学生通讯录管理系统 - Python技术站