1.能循环输入内容
2.展示功能
3.让用户输入希望执行的操作 例如输入1,2,3,0
4.新增列表
姓名 电话 QQ 邮箱
zs 110 1337765076 [email protected]
6.查询名片
如果用户存在—>显示用户的信息
-提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。
-修改操作,可以修改用户名,电话,qq、邮箱。
-删除操作,将用户删除。
-返回上一级操作,回到欢迎界面,让用户继续操作。
如果用户不存在–>提示查找的用户不存在。
这个可以在主程序中用while循环实现
定义一个输出展示界面的函数
def display_function():
print("1.新增名片\n2.显示全部\n3.名片\n0.退出系统")
可以在主程序中设置一个接收用户输入内容的函数,然后通过判断接收内容,跳转到其它功能函数
先定义一个新增列表的函数
def add_list():
user_name = input("请您输入姓名:")
user_phone = input("请您输入电话:")
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("新增名片成功!")
要求我们将所有的名片打印出来,同样,我们也先定义一个显示全部的函数
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]['邮箱']))
这一段是整段中最难的,也是最后一个功能,和前面一样,我们先定义一个查询名片的函数
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
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 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()