python学生管理系统教学_用python写一个简单的学生管理系统

要求如下:

1.能循环输入内容

2.展示功能

新增名片

显示全部

查询名片

退出系统

3.让用户输入希望执行的操作 例如输入1,2,3,0

4.新增列表

提示用户输入姓名,

输入电话

输入qq号

输入邮箱

提示新增名片成功。

5.显示全部

将所有的名片打印出来,格式如下:

姓名电话QQ 邮箱

zs1101337765076110@qq.com

6.查询名片

提示请输入要搜索查找用户的姓名

如果用户存在—>显示用户的信息

-提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。

-修改操作,可以修改用户名,电话,qq、邮箱。

-删除操作,将用户删除。

-返回上一级操作,回到欢迎界面,让用户继续操作。

如果用户不存在–>提示查找的用户不存在。

思路如下:

1.能循环输入内容

这个可以在主程序中用while循环实现

2.展示功能

定义一个输出展示界面的函数

def display_function():

print("1.新增名片\n2.显示全部\n3.名片\n0.退出系统")

3.让用户输入希望执行的操作 例如输入1,2,3,0

可以在主程序中设置一个接收用户输入内容的函数,然后通过判断接收内容,跳转到其它功能函数

4.新增列表

先定义一个新增列表的函数

def add_list():

提示用户输入姓名

user_name = input("请您输入姓名:")

输入电话

user_phone = input("请您输入电话:")

输入qq号

user_qq = input("请您输入qq号:")

输入邮箱

user_email = input("请您输入邮箱:")

提示新增名片成功

print("新增名片成功!")

最后把这些函数内的代码都整合一下,包括把用户输入的内容保存起来以便之后调用

def add_list():

user_name = input("请您输入姓名:")

user_phone = input("请您输入电话:")

user_qq = input("请您输入qq号:")

user_email = input("请您输入邮箱:")

dic = {}

dic['姓名'] = user_name

dic['电话'] = user_phone

dic['qq'] = user_qq

dic['邮箱'] = user_email

user_card.append(dic)

print("新增名片成功!")

5.显示全部

要求我们将所有的名片打印出来,同样,我们也先定义一个显示全部的函数

def print_all_card():

然后再把列表输出一下:

print("姓名\t\t\t\t电话\t\t\t\tqq\t\t\t\t邮箱\t\t\t\t")

接下来再输出用户的信息,因为我们创建的存放用户数据的数据类型是数组和字典,所以我们遍历数组,并把用户数据从字典中取出来输出,同时也需要注意对齐:

for i in range(0, len(user_card)):

print("{:<16}{:<16}{:<16}{:<16}".format(user_card[i]['姓名'], user_card[i]['电话'], user_card[i]['qq'],

user_card[i]['邮箱']))

6.查询名片

这一段是整段中最难的,也是最后一个功能,和前面一样,我们先定义一个查询名片的函数

def find_card():

提示请输入要搜索查找用户的姓名

find_user_name = input("请输入您要查找的用户的姓名:")

如果用户存在—>显示用户的信息

在这里需要加入一个计数器,通过这个判断是否在数据库中找到了该用户

并保存找到该用户时该元素的索引,以便接下来使用

find_num = 0

can_not_find=0

for i in user_card:

if i['姓名'] == find_user_name:

find_num = user_card.index(i)

print("找到了,信息如下")

print(i)

can_not_find=1

break

提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。

inp_find = int(input("【1】修改\n【2】删除\n【3】返回上一级菜单"))

修改操作,可以修改用户名,电话,qq、邮箱。

if inp_find == 1:

user_change_key = input("请输入需要修改的类别:")

user_change_value = input("请输入您需要修改的内容:")

user_card[find_num][user_change_key] = user_change_value

print("修改完成!")

print(user_card[find_num])

删除操作,将用户删除。

elif inp_find == 2:

del user_card[find_num]

print("删除完成!")

print_all_card()

返回上一级操作,回到欢迎界面,让用户继续操作。

elif inp_find == 3:

return display_function()

最后整理一下,就是这个实现这个功能的函数了

def find_card():

find_user_name = input("请输入您要查找的用户的姓名:")

find_num = 0

can_not_find = 0

for i in user_card:

if i['姓名'] == find_user_name:

find_num = user_card.index(i)

print("找到了,信息如下")

print(i)

can_not_find = 1

break

if can_not_find == 0:

print("您查找的用户不存在!")

return find_card()

inp_find = int(input("【1】修改\n【2】删除\n【3】返回上一级菜单"))

if inp_find == 1:

user_change_key = input("请输入需要修改的类别:")

user_change_value = input("请输入您需要修改的内容:")

user_card[find_num][user_change_key] = user_change_value

print("修改完成!")

print(user_card[find_num])

elif inp_find == 2:

del user_card[find_num]

print("删除完成!")

print_all_card()

elif inp_find == 3:

return display_function()

各功能的拼接

学生管理系统的需求,已经基本上满足,接下来就是写主程序,把实现各个功能的函数拼接到一起。

但是,在主函数中,声明user_card是全局变量好像有点问题,所以我后面是在最外层定义的user_card,就是在main_code()调用前,定义的user_card。看后面能不能发现是什么问题,再修改

def main_code():

while 1:

display_function()

user_doing = int(input("请输入您希望执行的操作:"))

if user_doing == 1:

add_list()

elif user_doing == 2:

print_all_card()

elif user_doing == 3:

find_card()

elif user_doing == 0:

print("退出系统!")

break

return

最后完成的代码如下:

def display_function():

print("1.新增名片\n2.显示全部\n3.名片\n0.退出系统")

def add_list():

user_name = input("请您输入姓名:")

user_phone = input("请您输入电话:")

user_qq = input("请您输入qq号:")

user_email = input("请您输入邮箱:")

dic = {}

dic['姓名'] = user_name

dic['电话'] = user_phone

dic['qq'] = user_qq

dic['邮箱'] = user_email

user_card.append(dic)

print("新增名片成功!")

def print_all_card():

print("姓名\t\t\t\t电话\t\t\t\tqq\t\t\t\t邮箱\t\t\t\t")

for i in range(0, len(user_card)):

# print_kwargs(**user_card[i])

print("{:<16}{:<16}{:<16}{:<16}".format(user_card[i]['姓名'], user_card[i]['电话'], user_card[i]['qq'],

user_card[i]['邮箱']))

def find_card():

find_user_name = input("请输入您要查找的用户的姓名:")

find_num = 0

can_not_find = 0

for i in user_card:

if i['姓名'] == find_user_name:

find_num = user_card.index(i)

print("找到了,信息如下")

print(i)

can_not_find = 1

break

if can_not_find == 0:

print("您查找的用户不存在!")

return find_card()

inp_find = int(input("【1】修改\n【2】删除\n【3】返回上一级菜单"))

if inp_find == 1:

user_change_key = input("请输入需要修改的类别:")

user_change_value = input("请输入您需要修改的内容:")

user_card[find_num][user_change_key] = user_change_value

print("修改完成!")

print(user_card[find_num])

elif inp_find == 2:

del user_card[find_num]

print("删除完成!")

print_all_card()

elif inp_find == 3:

return display_function()

def main_code():

while 1:

display_function()

user_doing = int(input("请输入您希望执行的操作:"))

if user_doing == 1:

add_list()

elif user_doing == 2:

print_all_card()

elif user_doing == 3:

find_card()

elif user_doing == 0:

print("退出系统!")

break

return

user_card = []

main_code()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值