Python学生管理系统示例
admin
2023-07-17 10:05:08
0

import os

stus = [] # 学生信息列表(每个学生的信息以字段存储)

def add_stu():
sid = input('输入学生学号:')
sname = input('输入学生姓名:')
sage = input('输入学生年龄:')
dict_stu = {'id': sid.strip(), 'name': sname.strip(), 'age': int(sage.strip())}
stus.append(dict_stu)

def remove_stu(name):
item = search_stu(name)
stus.remove(item)

def search_stu(name):
flag = False
for s in stus:
if s['name'] == name.strip():
print(s)
flag = True
return s
if flag == False:
print('该学生不存在')
return None

def query_all_stu():
print('序号\tid\tname\tage')
for i, stu in enumerate(stus, 1):
print(i, end="")
print('\t%s\t%s\t%s' % (stu['id'], stu['name'], stu['age']))

def print_menu():
print('=' * 30)
print('学生管理系统'.center(30))
print('输入1:添加学生')
print('输入2:查找学生')
print('输入3:修改学生')
print('输入4:删除学生')
print('输入5:查看所有学生')
print('输入6:退出')

def file_read():
try:
file_name=r'stu.txt'
if os.path.exists(file_name):
f = open(file_name, 'r', encoding='utf-8')
while True:
line_text = f.readline()
if line_text == "":
break
line_list = line_text.split()
dict_item={'id':line_list[0],'name':line_list[1],'age':line_list[2]}
stus.append(dict_item)
print(line_list)
f.close()
else:
print('file is not exist.')

except Exception as e:
    print(e)
finally:
    print('file_read methon is exec completed.')

def file_write():
try:
file_name = r'stu.txt'
if os.path.exists(file_name):
os.remove(file_name)
f = open(file_name, 'w', encoding='utf-8')
for item in stus:
line_text = "%s\t%s\t%s" % (item['id'], item['name'], item['age'])
f.write(line_text)
f.write('\n')
f.close()

except Exception as e:
    print(e)
finally:
    print('file_write methon exec over..')

def main():
file_read()
while True:
print_menu()
operate = input('请输入你想要的操作:')
if operate == "1":
add_stu()
elif operate == "2":
sname = input("输入学生姓名:")
search_stu(sname)
elif operate == "3":
pass
elif operate == "4":
sname = input("请输入删除学生的姓名:")
remove_stu(sname)
elif operate == "5":
query_all_stu()
else:
file_write()
print('exit......')
break

main()

相关内容

热门资讯

欧企仓促逃离古巴,“美国制裁面... 【文/观察者网 柳白】特朗普政府不断收紧针对古巴的制裁枷锁,作为古巴主要外资来源地的欧洲被迫卷入风波...
潍坊市检验检测中心举办科技周实... 为积极响应2026年市场监管科技周“奋进十五五 科技谱新篇”的主题号召,近日,潍坊市检验检测中心成功...
新品 | 斯迈得3030Mol... 据QYResearch调研数据显示,2025年全球美容医学光疗灯与设备市场规模约为10.08亿美元,...
英特尔与鸿海战略合作,携手推动... IT之家 6 月 5 日消息,鸿海科技集团昨日宣布将与英特尔进行战略合作,结合英特尔在处理器、硅光子...
宇树干嘛与英伟达合作?尖锐质疑... 宇树科技与英伟达合作生产人形机器人H2 Plus的事在国内互联网上引起质疑和担心,我认为这些担心都是...
普京回应泽连斯基公开信 6月5日,俄罗斯总统普京就乌克兰总统泽连斯基日前发布的公开信作出点评,称暂时看不到与基辅政权领导人会...
向新提质 青岛加快建设新型电力... 能源互联网是支撑新型能源体系的重要基础设施与关键枢纽,对于保障能源安全、推动绿色转型以及培育新质生产...
Phison展示AI存储新布局... 【CNMO科技消息】在2026年中国台北国际电脑展Computex期间,存储解决方案厂商Phison...
2026苹果手机播放器推荐 2026年适合苹果手机的主流播放器网易爆米花https://bmh.163.com/windows/...
“艺考名师”涉嫌性侵猥亵至少2... 今年4月,影视艺考培训机构影路站台创始人杜某哲涉嫌强奸和强制猥亵一案开庭。庭审持续了整整两天。据悉,...