数据结构--建立一个单向的学生成绩链表(python)

    xiaoxiao2022-07-15  144

    #学生成绩单向链表

    #声明一个学生单向链表结构声明 class student:     def __init__(self):         self.name=''         self.Math=0         self.Eng=0         self.no=''         self.next=None #建立链表头部 head=student()

    head.next=None ptr=head Msum=Esum=num=student_no=0 select=0 while select !=2:     print('(1)新增 (2)离开=>')     try:         select=int(input('请输入一个选项:'))     except ValueError:         print('输入错误')         print('请重新输入\n')     if select ==1:         new_data=student()         new_data.name=input('请输入姓名:')         new_data.Math=eval(input('请输入数学成绩:'))         new_data.Eng=eval(input('请输入英语成绩:'))         new_data.no=input('请输入学号:')         ptr.next=new_data         new_data.next=None         ptr=ptr.next #将指针移动到下一个新增元素的位置         num=num+1

    #遍历整个单向链表 ptr=head.next print() while ptr!=None:     print('姓名:%s\t 学号:%s\t 数学成绩:%d\t 英语成绩:%d'%(ptr.name,ptr.no,ptr.Math,ptr.Eng) )     Msum=Msum+ptr.Math     Esum=Esum+ptr.Eng     student_no=student_no+1     ptr=ptr.next if student_no!=0:     print('--------------------------------------------------------')     print('本链表中学生数学平均成绩为%.2f 英语的平均成绩为%.2f'%(Msum/student_no,Esum/student_no))

    最新回复(0)