最近公司搬办公室,杂七杂八的事情比较多,又碰上业务要上线了。。。很多事情堆到一起来做,导致最近没什么时间学习,写博客。前两天胜利日放假,把以前用java写的学生信息管理系统用python重新写了一遍,以便于帮助python的学习。
好了,废话不多说,首先进行需求分析,下面是我根据需求画的系统结构图:
纯手工制图。。。。。画的不好敬请谅解。从上图来看,整个系统分为main,add,delete,change,select,sort,io,print共八个模块,实现了对学生信息的增删改查排的功能,将结果储存到student.txt文件中去。
学生信息的数据结构我将其设计为一个学生的一条记录用一个列表来存储,这个列表包含的信息为:学号,姓名,年龄,成绩,地址这些字段。同时,所有学生的记录又结合成一个列表,这样,这个列表就存储了所有学生的信息。
下面是我的源代码以及对该源代码的分析,以供大家借鉴参考以及自己的记录。(PS:由于本人学习Python的时间比较短,代码难免有写的比较渣的地方,希望各位大神轻喷(^-^!!!))cat main.py
#__author__ = 'huxianglin'
# -*- coding: utf-8 -*-
import add
import delete
import change
import select
import sort
file_path= 'student.txt' #首先定义数据的存储路径,这里定义为当前程序锁在目录的根目录中
def main(): #在main函数中使用while循环来获取用户的输入信息
while True:
print(u"welcome to student information management system!")
print(u"you can use input:add;delete;change;select;sort;quit")
keyword=raw_input("please input what you want to operation:")
if keyword=="quit": #由于python中没有类似于switch case的方式来实现多项选择,本来打算使用dict来实现这个功能的,但是按照网上的方式,死活无法达到想要的功能,于是,逼得没办法咬咬牙,用if elif来代替switch case的功能,请大神轻喷哈!
exit(0)
elif keyword=="add":
add.index(file_path)
elif keyword=="delete":
delete.index(file_path)
elif keyword=="change":
change.index(file_path)
elif keyword=="select":
select.index(file_path)
elif keyword=="sort":
sort.index(file_path)
else:
print(u"please input correct option!")
'''
else: #这一段实现有问题。。。无法达到目标。
option={"add":add.index(file_path),
"delete":delete.index(file_path),
"change":change.index(file_path),
"select":select.index(file_path),
"sort":sort.index(file_path)}
option.get(key