用python实现简易学生管理系统
Posted jeavenwong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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()
下面是运行结果:
以上是关于用python实现简易学生管理系统的主要内容,如果未能解决你的问题,请参考以下文章