zoukankan      html  css  js  c++  java
  • 单链表的实现

    设计一个Python程序,可以让用户输入数据来新增学生数据节点,并建立一个单向链表

    import sys
    class student():#声明一个学生成绩的结构声明
        def __init__(self):
            self.name=""
            self.Math=0#数学分数
            self.Engh=0#英语分数
            self.no=""#学号
            self.next=None
    
    head=student()#建立链表头部
    head.next=None#当前无下一个元素
    ptr=head#设置存取指针的位置,结构指针ptr作为链表的游标
    MathSum=EngSum=num=student_no=0
    select=0
    
    while select !=2:
        print('1新增 2离开---')
        try:
            select=int(input('请输入数字'))
        except ValueError:
            print('输入错误')
            print('请重新输入')
        if select==1:
            new_data=student()#新增下一个元素
            new_data.name=input("姓名:")
            new_data.Math=eval(input("数学:"))
            new_data.Engh=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	学号:%s	数学成绩:%d	英语成绩:%d' 
         %(ptr.name,ptr.no,ptr.Math,ptr.Engh))
    
        MathSum=MathSum+ptr.Math
        EngSum=EngSum+ptr.Engh
        student_no=student_no+1
        ptr=ptr.next#将ptr移到下一个元素
    
    if student_no!=0:
        print('######################')
        print('本链接中学生的数学平均成绩:%.2f 英语平均成绩:%.2f' 
            %(MathSum/student_no,EngSum/student_no))

  • 相关阅读:
    第四次实践作业
    第三次实践作业
    第二次实践作业
    第一次实践作业
    第02组 Beta版本演示
    第02组 Beta冲刺(4/4)
    大数据应用技术课程实践--选题与实践方案
    15 手写数字识别-小数据集
    14 深度学习-卷积
    13 垃圾邮件分类2
  • 原文地址:https://www.cnblogs.com/jzxs/p/10270627.html
Copyright © 2011-2022 走看看