这篇博客主要就是把学生管理系统进行源码分享,这段源码很好的将前面所学的全部串在一起。就我个人而言真的是非常有价值。就算你python前面的基础不好,学完这个系统你会有重获新生的感觉。
本文适合需要用python完成课程大作业、python爱好者、python路上的学习者、初学python者、需要将python知识点串在一起的人、上进的人。
**
以下代码看懂我认为python基础就没什么问题了
manageSystem.py
1 |
<span class="token keyword">from</span> Crawler<span class="token punctuation">.</span>XM<span class="token punctuation">.</span>student <span class="token keyword">import</span> <span class="token operator">*</span> <span class="token keyword">class</span> <span class="token class-name">StudentMange</span><span class="token punctuation">(</span><span class="token builtin">object</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">def</span> <span class="token function">__init__</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>Student_list<span class="token operator">=</span><span class="token punctuation">[</span><span class="token punctuation">]</span> <span class="token keyword">def</span> <span class="token function">run</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>load_student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>show_menu<span class="token punctuation">(</span><span class="token punctuation">)</span> menu_num<span class="token operator">=</span><span class="token builtin">int</span><span class="token punctuation">(</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"请输入需要的功能需序号:"</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">if</span> menu_num<span class="token operator">==</span><span class="token number">1</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>add_Student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">2</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>del_Student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">3</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>modify_student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">4</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>search_student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">5</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>show_student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">6</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>save_student<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">elif</span> menu_num<span class="token operator">==</span><span class="token number">7</span><span class="token punctuation">:</span> <span class="token keyword">break</span> <span class="token decorator annotation punctuation">@staticmethod</span> <span class="token keyword">def</span> <span class="token function">show_menu</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"请选择如下功能"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"1、添加学员"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"2、删除学员"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"3、修改学员信息"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"4、查询学员信息"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"5、显示所有的学院信息"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"6、保存学员信息"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"7、退出系统"</span><span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">add_Student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> name<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"请输入您的姓名:"</span><span class="token punctuation">)</span> gender<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"请输入您的性别:"</span><span class="token punctuation">)</span> tell<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"请输入您的手机号:"</span><span class="token punctuation">)</span> students<span class="token operator">=</span>Student<span class="token punctuation">(</span>name<span class="token punctuation">,</span>gender<span class="token punctuation">,</span>tell<span class="token punctuation">)</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">.</span>append<span class="token punctuation">(</span>students<span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span>self<span class="token punctuation">.</span>Student_list<span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span>students<span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">del_Student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> del_name<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"亲输入需要删除的学员姓名:"</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">:</span> <span class="token keyword">if</span> del_name<span class="token operator">==</span>i<span class="token punctuation">.</span>name<span class="token punctuation">:</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">.</span>remove<span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token keyword">break</span> <span class="token keyword">else</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"查无此人"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span>self<span class="token punctuation">.</span>Student_list<span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">modify_student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> modify_name<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"请输入要修改的学员性别:"</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">:</span> <span class="token keyword">if</span> modify_name<span class="token operator">==</span>i<span class="token punctuation">.</span>name<span class="token punctuation">:</span> i<span class="token punctuation">.</span>name<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"姓名:"</span><span class="token punctuation">)</span> i<span class="token punctuation">.</span>gender<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"性别:"</span><span class="token punctuation">)</span> i<span class="token punctuation">.</span>tell<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"号码:"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"修改学员的信息成功,姓名</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">,性别</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>gender<span class="token punctuation">}</span></span><span class="token string">,号码</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>tell<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">break</span> <span class="token keyword">else</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"查无此人"</span><span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">search_student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> search_name<span class="token operator">=</span><span class="token builtin">input</span><span class="token punctuation">(</span><span class="token string">"要搜索的学员姓名"</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">:</span> <span class="token keyword">if</span> search_name<span class="token operator">==</span>i<span class="token punctuation">.</span>name<span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"姓名是{i.name},性别是{i.gender},号码是{i.tell}"</span><span class="token punctuation">)</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"姓名是</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">,性别是</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>gender<span class="token punctuation">}</span></span><span class="token string">,号码是</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>tell<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">break</span> <span class="token keyword">else</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"查无此人"</span><span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">show_student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"姓名:\t性别:\t手机号;"</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">\t</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>gender<span class="token punctuation">}</span></span><span class="token string">\t</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>i<span class="token punctuation">.</span>tell<span class="token punctuation">}</span></span><span class="token string">"</span></span><span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">save_student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> f<span class="token operator">=</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token string">"student.data"</span><span class="token punctuation">,</span><span class="token string">"w"</span><span class="token punctuation">)</span> new_list<span class="token operator">=</span><span class="token punctuation">[</span>i<span class="token punctuation">.</span>__dict__ <span class="token keyword">for</span> i <span class="token keyword">in</span> self<span class="token punctuation">.</span>Student_list<span class="token punctuation">]</span> f<span class="token punctuation">.</span>write<span class="token punctuation">(</span><span class="token builtin">str</span><span class="token punctuation">(</span>new_list<span class="token punctuation">)</span><span class="token punctuation">)</span> f<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">def</span> <span class="token function">load_student</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">try</span><span class="token punctuation">:</span> f<span class="token operator">=</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token string">"student.data"</span><span class="token punctuation">,</span><span class="token string">"r"</span><span class="token punctuation">)</span> <span class="token keyword">except</span><span class="token punctuation">:</span> f<span class="token operator">=</span><span class="token builtin">open</span><span class="token punctuation">(</span><span class="token string">"student.data"</span><span class="token punctuation">,</span><span class="token string">"w"</span><span class="token punctuation">)</span> <span class="token keyword">else</span><span class="token punctuation">:</span> data<span class="token operator">=</span>f<span class="token punctuation">.</span>read<span class="token punctuation">(</span><span class="token punctuation">)</span> new_list<span class="token operator">=</span><span class="token builtin">eval</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span> self<span class="token punctuation">.</span>Student_list<span class="token operator">=</span><span class="token punctuation">[</span>Student<span class="token punctuation">(</span>i<span class="token punctuation">[</span><span class="token string">"name"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>i<span class="token punctuation">[</span><span class="token string">"gender"</span><span class="token punctuation">]</span><span class="token punctuation">,</span>i<span class="token punctuation">[</span><span class="token string">"tell"</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token keyword">for</span> i <span class="token keyword">in</span> new_list<span class="token punctuation">]</span> <span class="token keyword">finally</span><span class="token punctuation">:</span> f<span class="token punctuation">.</span>close<span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token keyword">if</span> __name__ <span class="token operator">==</span> <span class="token string">"__main__"</span><span class="token punctuation">:</span> Student_manage<span class="token operator">=</span>StudentMange<span class="token punctuation">(</span><span class="token punctuation">)</span> StudentMange<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>run<span class="token punctuation">(</span><span class="token punctuation">)</span> |
上面的manageSystem.py是此程序的主程序,包含了静态方法、闭包、函数封装、输入输出判断、初始化属性、调用模块等等。。。。。。
student.py
1 |
<span class="token keyword">class</span> <span class="token class-name">Student</span><span class="token punctuation">(</span><span class="token builtin">object</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">def</span> <span class="token function">__init__</span><span class="token punctuation">(</span>self<span class="token punctuation">,</span>name<span class="token punctuation">,</span>gender<span class="token punctuation">,</span>tell<span class="token punctuation">)</span><span class="token punctuation">:</span> self<span class="token punctuation">.</span>name<span class="token operator">=</span>name self<span class="token punctuation">.</span>gender<span class="token operator">=</span>gender self<span class="token punctuation">.</span>tell<span class="token operator">=</span>tell <span class="token keyword">def</span> <span class="token function">__str__</span><span class="token punctuation">(</span>self<span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">return</span> <span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>self<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">,</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>self<span class="token punctuation">.</span>gender<span class="token punctuation">}</span></span><span class="token string">,</span><span class="token interpolation"><span class="token punctuation">{<!-- --></span>self<span class="token punctuation">.</span>tell<span class="token punctuation">}</span></span><span class="token string">"</span></span> |
student.py主要是初始化学生的初始化属性,包括名字(name)、性别(gender)、电话号码(tell)。方便上面manageSystem.py调用,使得代码更加简洁。
本文上传纯属是为了带大家分享,记录代码,方便以后查看
以上截图是文件所属目录,目录不对调用的时候是会报错的,所以要注意文件目录。
以上代码看懂我认为python基础就没什么问题了
、