python实现数据结构单链表的简单教学系统功能
class Node(): def __init__(self,sno,math,name,next=None): self.sno=sno self.math=math self.name=name self.next=next def InsertData(head): sno=input("请输入学号") math=input("请输入成绩") name=input('请输入姓名') root=Node(sno,math,name) if head==None:#第一次放入数据 return root else: if head.next==None:#只有一个头连接 if head.sno>sno: root.next=head head=root else: head.next=root else: f=-1 p=head q=p while p!=None: if p.sno>sno: if p==head:#在头部前插入数据 root.next=head head=root else:#在中间插入数据 root=q.next p=root.next f=1 else: p=p.next q=p if f==-1:#在尾部插入数据 root=q.next print('增加信息成功') return head def PrintData(head): p=head while p!=None: print(p.sno,end=" ") print(p.math,end=" ") print(p.name,end="\n") p=p.next def DelData(head): de=-1 p=head q=None if p==None: return None sno=input('请输入要删除数据的学号') while p!=None: if p.sno==sno and q!=None: q.next=p.next return head p==None elif p.sno==sno and q==None:#只有一条记录情况 return None else: q=p p=p.next return head def Updata(head): sno=input('请输入需要修改数据的学号') p=head up=-1 while p!=None: if p.sno==sno: print('现成绩') print(p.math,end="\n") print('请输入需要修改的成绩',end='\n') math=input("请输入成绩") p.math=math up=1 p=None else: p=p.next if up==-1: print('无此记录') else: print('修改成功') return head def SeleteData(head): sno=input('请输入需要查询的学号') p=head up=-1 while p!=None: if p.sno==sno: print(p.sno,end=" ") print(p.math,end=" ") print(p.name,end="\n") up=1 p=None else: p=p.next if up==-1: print('无此记录') return head def main(): print('欢迎进入系统\n1.初次放入数据\n2增加数据\n3.删除数据\n4.搜索成绩\n5.修改成绩\n6.查看记录\n0.退出系统') nn=input('请输入指令') n=int(nn) while n!=0: if n==1: head=InsertData(None) if n==2: head=InsertData(head) if n==3: DelData(head) if n==4: SeleteData(head) if n==5: Updata(head) if n==6: PrintData(head) nn=input('请输入指令') n=int(nn) print('感谢您的使用') if __name__=='__main__':main()
以上是全部代码,环境是在python3.5
运行截图

浙公网安备 33010602011771号