zoukankan      html  css  js  c++  java
  • 用python实现简易学生管理系统

    以前用C++和Java写过学生管理系统,也想用Python试试,果然“人生苦短,我用Python”。用Python写的更加简洁,实现雏形也就不到100行代码。

    下面上代码

      1 #!/usr/bin/python3
      2 # coding=utf-8
      3 
      4 
      5 # 实现switch-case语句
      6 class switch(object):
      7     def __init__(self, value):
      8         self.value = value
      9         self.fall = False
     10 
     11     def __iter__(self):
     12         """Return the match method once, then stop"""
     13         yield self.match
     14         raise StopIteration
     15 
     16     def match(self, *args):
     17         """Indicate whether or not to enter a case suite"""
     18         if self.fall or not args:
     19             return True
     20         elif self.value in args:  # changed for v1.5, see below
     21             self.fall = True
     22             return True
     23         else:
     24             return False
     25 
     26 
     27 class student:
     28     def __init__(self, name, age, id, grade):
     29         self.next = None
     30         self.name = name
     31         self.age = age
     32         self.id = id
     33         self.grade = grade
     34 
     35     def show(self):
     36         print('name:', self.name, ' ', 'age:', self.age, ' ', 'id:', self.id, ' ', 'grade:', self.grade)
     37 
     38 
     39 class stulist:
     40     def __init__(self):
     41         self.head = student('', 0, 0, 0)
     42 
     43     def display(self):
     44         p = self.head.next
     45         if p==None:
     46             print('no student data in database!')
     47         while p:
     48             p.show()
     49             p = p.next
     50 
     51 
     52     def insert(self):
     53         print('please enter:')
     54         name = input('name:')
     55         age = input('age:')
     56         id = input('id:')
     57         grade = input('grade:')
     58         newstu = student(name, age, id, grade)
     59         p = self.head
     60         while p.next:
     61             p = p.next
     62         p.next = newstu
     63 
     64     def query(self):
     65         name = input('please enter the name you want to query:')
     66         p = self.head.next
     67         if p==None:
     68             print('no such student in database')
     69         while p:
     70             if p.name == name:
     71                 p.show()
     72             p = p.next
     73 
     74     def delete(self):
     75         name = input("please enter the student'name you want to delete:")
     76         p = self.head.next
     77         pre = self.head
     78         while p:
     79             if p.name == name:
     80                 pre.next = p.next
     81                 p.next = None
     82                 print('the student info has been deleted!')
     83                 break
     84             else:
     85                 pre = p
     86                 p = p.next
     87 
     88 
     89 def main():
     90     stulist1 = stulist()
     91     user_input = input('please enter the OPcode:')
     92     while user_input:
     93         print('a--insert/b--display/c--query/h or ''--help/d--delete')
     94         for case in switch(user_input):
     95             if case('a'):
     96                 stulist1.insert()
     97                 user_input = input('please enter the OPcode:')
     98                 break
     99             if case('b'):
    100                 stulist1.display()
    101                 user_input = input('please enter the OPcode:')
    102                 break
    103             if case('c'):
    104                 stulist1.query()
    105                 user_input = input('please enter the OPcode:')
    106                 break
    107             if case('d'):
    108                 stulist1.delete()
    109                 user_input = input('please enter your OPcode:')
    110                 break
    111             if case():  # default
    112                 print('please enter the OPcode...')
    113                 user_input = input('please enter the OPcode:')
    114                 break
    115 
    116 
    117 if __name__ == "__main__":
    118     main()

    下面是运行结果:

  • 相关阅读:
    [置顶] 【Git入门之十五】Github操作指南
    hdu 3698 Let the light guide us(线段树优化&简单DP)
    拥有最小高度能自适应高度,IE、FF全兼容的div设置
    浏览器小览【欢迎讨论】
    实习心得体会--在一家互联网公司4个月的心得体会
    九度online judge 1543 二叉树
    指令系统是指计算机所能执行的全部指令的集合
    电脑的CPU可直接解读的数据机器码
    解释是一句一句的翻译
    编译解释两种方式只是翻译的时间不同
  • 原文地址:https://www.cnblogs.com/jeavenwong/p/8270485.html
Copyright © 2011-2022 走看看