使用python设计一个小型的学生宿舍管理系统,系统用户为宿舍管理员。
本帖最后由 yangbaowen 于 2022-4-4 19:29 编辑使用python设计一个小型的学生宿舍管理系统,系统用户为宿舍管理员。
功能要求:
(1)学生信息:学号,姓名,性别(男/女),宿舍房间号,联系电话。
(2)系统功能如下。
1.可按学号查找某一位学生的具体信息。
2.可以录入新的学生的信息。
3.可以显示现有的所有的学生的信息。
程序要求:
(1)使用函数,列表,字典,字符串,条件循环等。
(2)程序规模在80~200行。 代码(记得选为最佳答案哦!):
def clear():
global info
info = {}
def introduction():
print('请选择功能.....')
print('1.添加学员')
print('2.删除学员')
print('3.修改学员')
print('4.查询学员')
print('5.显示所有学员')
print('6.退出系统')
print('-'*20)
def add():
global info
temp = []
temp2 = input('请输入学号')
if temp2 in info:
print('字典中已有此人')
else:
temp.append('姓名:'+input('请输入姓名'))
temp.append('性别:'+input('请输入性别'))
temp.append('宿舍房间号:'+input('请输入宿舍房间号'))
temp.append('联系电话:'+input('请输入联系电话'))
info = temp
def delete():
global info
temp = input('请输入要删除学员的学号')
try:
info.pop(temp)
except KeyError:
print('输入错误!没有学号为'+temp+'的人!')
def modify():
global info
temp = input('请输入要修改学员的学号')
if temp not in info:
print('字典中没有此人')
else:
temp.append(input('请输入姓名'))
temp.append(input('请输入性别'))
temp.append(input('请输入宿舍房间号'))
temp.append(input('请输入联系电话'))
info = temp
def search():
global info
temp = input('请输入要搜索学员的学号')
temp2 = info.get(temp,'没有此人!\n')
print('学号:',temp)
for each in temp2:
print(each,end='')
print('\n')
def all():
global info
for each in info:
temp = each
temp2 = info.get(temp,'没有此人!')
print('学号:',temp)
for each in temp2:
print(each,end='')
print('\n')
clear()
while True:
introduction()
i = str(input('请输入功能序号:'))
if i == '1':
add()
elif i == '2':
delete()
elif i == '3':
modify()
elif i == '4':
search()
elif i== '5':
all()
elif i == '6':
break
else:
print('输入功能有误,请重新输入')
本帖最后由 qq1151985918 于 2022-4-4 21:31 编辑
网上搜一大把,自己做也很简单的嘛,要不了一个小时就做好了
论坛搜索 通讯录,自己修改下就好了,一大把 这不够优秀,需要添加数据库,做B/S或者GUI """
系统简介:添加学员,删除学员,修改学员信息,查询学员信息,显示所有学员信息,退出系统
程序步骤分析
1 显示功能界面
2 用户输入功能序号
3 根据用户输入的功能序号,执行不同的功能(函数)
"""
def info_print():#显示功能界面
print('请选择功能.....')
print('1.添加学员')
print('2.删除学员')
print('4.查询学员')
print('5.显示所有学员')
print('6.退出系统')
print('-'*20)
info = []
def add_info():
"""添加学员信息"""
new_id = input('请输入学号')
new_name = input('请输入姓名')
new_gender = input('请输入性别')
new_housenumber = input('请输入宿舍房间号')
new_tel = input('请输入联系电话')
global info
for i in info:
if new_name == i['name']:
print('此用户已存在')
return #return作用:退出当前函数,后面添加的信息不执行
info_dict = dict()
info_dict['id'] = new_id
info_dict['name'] = new_name
info_dict['gender'] = new_gender
info_dict['housenumber'] = new_housenumber
info_dict['tel'] = new_tel
info.append(info_dict)
print(info)
def del_info():
"""删除学员"""
del_name = input('请删除要删除学员的姓名')
global info
for i in info:
if del_name == i['name']:
info.remove(i)
break
else:
print('该学员不存在')
print(info)
def modify_info():
"""修改学员信息的函数"""
modify_name = input('请输入需要修改学员信息的名字')
global info
for i in info:
if modify_name == i['name']:
#将tel对应的值修改,并终止此循环
i['tel'] = input('请输入修改后的手机号')
break
else:
print('该学员不存在')
print(info)
def search_name():
"""查询学员信息的函数"""
search_name1 = input('请输入要查询学员的姓名')
global info
for i in info:
if search_name1 == i['name']:
print('查询到的信息如下')
print("该学员的学号是{i['id]},姓名是{i['name']},性别是{i['gender']},宿舍房间号是{i['housenumbber']},联系电话是{i['tel']}")
break
else:
pass
def print_all():
"""显示所有学员信息的函数"""
print('学号\t姓名\t性别\t宿舍号\t联系电话\t')
for i in info:
print(f"{i['id']}\t{i['name']}\t{i['gender']}\t{i['housenumber']}\t{i['tel']}")
while True:#系统需循环使用,当用户输入功能6才退出循环
info_print()
user_num = input('请输入功能序号:')
if user_num == '1':
add_info()
elif user_num == '2':
del_info()
elif user_num == '3':
modify_info()
elif user_num == '4':
search_name()
elif user_num == '5':
print_all()
elif user_num =='6':
exit_flag = input('确认要退出系统吗?Yes or Not')
if exit_flag == 'Yes':
break
else:
print('输入功能有误,请重新输入') yangbaowen 发表于 2022-4-4 23:05
学员名字不是唯一值,用学号做关键字更稳妥一些 niubro 发表于 2022-4-5 09:03
学员名字不是唯一值,用学号做关键字更稳妥一些
好的 songwentao 发表于 2022-4-4 17:50
代码(记得选为最佳答案哦!):
{:10_275:} qq1151985918 发表于 2022-4-4 21:23
网上搜一大把,自己做也很简单的嘛,要不了一个小时就做好了
论坛搜索 通讯录,自己修改下就好了,一大把
🆗 wp231957 发表于 2022-4-4 21:24
这不够优秀,需要添加数据库,做B/S或者GUI
哈哈,不太懂,刚学 info = temp第47行报错了Undefined name'temp2'
页:
[1]