课程学习成绩评分F2计算器

前言:

由于大二的时候计算成绩太麻烦了,特别是综测评定小组还需要验证其他同学的是否正确,对于这种重复性高的工作,首先要想到的就是用计算机来实现,想起来上学期学了一点Java,就想简单的写一个程序。

C++

因为我们是知道他的公式的,所以就是输入数据就能够得到最终的结果。最开始我也不是直接就开始想到用Java来写的,最开始只是想计算一下,整个的实现就是定义一个数据里面存放的对应的学分,通过用户输入自己的分数(一定要按顺序输入,因为科目的之间的学分不同)。

#include
using namespace std;

int main(){
	const int proportion[]={1,1,2,1,3,4,4,4,4,1,2,1,3,2,5,3,4,1,3};
	double sum=0;
	double avg=0;
	int count=0;
	int size=sizeof(proportion)/sizeof(int);
	
	cout<<"请输入您的考试分数:"; 
	for(int i=0;i>score;
		sum+=score*proportion[i];
		count+=proportion[i];
	}
	cout<<"您的自评分为"<

Java

思路分析:

需要解决的还是以下的问题:

界面的布局

对于课程的名称就是一个个标签,然后对每一门课程都配备一个文本框,这个思路是简单,就是实现起来比较繁琐,我采用的还是坐标布局,你通过调整自己代码里面的位置以及标签和文本框的大小,设计成你自己喜欢的样子。

数据的提取与验证

对于文本框里面的数据不是所有都能够合法使用的,我这里的分数规定是[0,100]的闭区间而且都是整数,具体情况大家具体分析。(这推荐还是使用正则表达式来实现)对于文本框提取出来的数据还需要转换成int类型才能进行后续的运算。

自评分的计算

计算就和c++一样了,学分我们可以内部定义一个数组,就不需要用户自己输入了,用户只需要输入自己的成绩,开始计算就是用户按下一个按钮可以开始了,为了避免要算下一组数据,所以还增添了一个清空数据的按钮,当所有合法数据都成功提取之后,就对应相乘再相加除以各课程学分之和,对于总的这些分数数据定义需要在方法中,如果是全局的变量,一直点击开始计算,分数就会一直累加,每次的结果会不同。

不合法的警告

有不合法的数据还是需要提示用户的,我这里就是设置了一个方法,传入一个字符串就会弹窗一个显示改字符串的弹窗。

实现结果:

课程学习成绩评分F2计算器_第1张图片


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.*;

public class F2 extends JFrame implements ActionListener{
    //主方法
    public static void main(String[] args) {
        F2 f2=new F2();
    }
    //组件数据
    final JPanel panel=new JPanel();//面板

    //定义相关成绩的标签以及文本框
    //大二上
    final JLabel tow1=new JLabel("大二上");
    //大二下
    final JLabel tow2=new JLabel("大二下");

    //健康教育
    final JLabel healthLabel=new JLabel("健康教育:");
    final JTextField healthField=new JTextField();
    //大学生求职择业与职业发展
    final JLabel jobLabel=new JLabel("大学生求职择业与职业发展:");
    final JTextField jobField =new JTextField();
    //大学英语三
    final JLabel english3Label=new JLabel("大学英语(三):");
    final JTextField english3Field =new JTextField();
    //大学体育三
    final JLabel sports3Label=new JLabel("大学体育(三):");
    final JTextField sports3Field =new JTextField();
    //中国近代史纲要
    final JLabel outlineLabel=new JLabel("中国近代史纲要:");
    final JTextField outlineField =new JTextField();
    //离散数学
    final JLabel mathLabel=new JLabel("离散数学:");
    final JTextField mathField =new JTextField();
    //数据结构
    final JLabel dataLabel=new JLabel("数据结构:");
    final JTextField dataField =new JTextField();
    //数字逻辑
    final JLabel digitLabel=new JLabel("数字逻辑:");
    final JTextField digitField =new JTextField();
    //数据库原理
    final JLabel databaseLabel=new JLabel("数据库原理:");
    final JTextField databaseField =new JTextField();
    //数据结构实验
    final JLabel dataExperimentLabel=new JLabel("数据结构实验:");
    final JTextField dataExperimentField =new JTextField();
    //大学英语四
    final JLabel english4Label=new JLabel("大学英语(四):");
    final JTextField english4Field =new JTextField();
    //大学体育四
    final JLabel sports4Label=new JLabel("大学体育(四):");
    final JTextField sports4Field =new JTextField();
    //马克思主义基本原理
    final JLabel principleLabel=new JLabel("马克思主义基本原理:");
    final JTextField principleField =new JTextField();
    //形势与政策
    final JLabel policyLabel=new JLabel("形势与政策:");
    final JTextField policyField =new JTextField();
    //计算机组成原理
    final JLabel computerLabel=new JLabel("计算机组成原理:");
    final JTextField computerField =new JTextField();
    //Java
    final JLabel javaLabel=new JLabel("Java:");
    final JTextField javaField =new JTextField();
    //操作系统
    final JLabel operateLabel=new JLabel("操作系统:");
    final JTextField operateField =new JTextField();
    //Java实验
    final JLabel javaExperimentLabel=new JLabel("Java实验:");
    final JTextField javaExperimentField =new JTextField();
    //Linux程序设计
    final JLabel linuxLabel=new JLabel("Linux程序设计:");
    final JTextField linuxField =new JTextField();

    //定义开始和复位按钮
    final JButton start=new JButton("开始计算");
    final JButton reset=new JButton("清空数据");

    //警告标签,放在弹窗里面
    final JLabel warningLabel=new JLabel();

    //最终计算结果
    final JLabel resultLable=new JLabel("您的最终F2是:");

    //学分
    final int []credit={1,1,2,1,3,4,4,4,4,1,2,1,3,2,5,3,4,1,3};

    //科目对应的成绩
    int health=0;
    int job=0;
    int english3=0;
    int sports3=0;
    int outline=0;
    int math=0;
    int data=0;
    int digit=0;
    int database=0;
    int dataExperiment=0;
    int english4=0;
    int sports4=0;
    int principle=0;
    int policy=0;
    int computer=0;
    int java=0;
    int operate=0;
    int javaExperiment=0;
    int linux=0;


    public F2() {
        //初始化框架
        initFrame();
        //初始化面板
        initPanel();
        //绑定监听事件
        buttonAction();
        //窗体可见
        this.setVisible(true);

    }
    //初始化框架
    public void initFrame() {
        //设置软件的标题
        this.setTitle("2021级计算机科学与技术专业-课程学习成绩评分F2");
        //设置窗体位置以及大小
        this.setSize(1000,800);
        //设置窗体居中
        this.setLocationRelativeTo(null);
        //关闭按钮的动作为退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    //初始化面板
    public void initPanel() {
        //初始化组件
        initModule();
        //设置为不采用任何布局管理器,在Frame中设置没有效果,结果还是会被panel替代了
        panel.setLayout(null);
        //添加相关的组件
        panel.add(healthLabel);
        panel.add(healthField);

        panel.add(jobLabel);
        panel.add(jobField);

        panel.add(english3Label);
        panel.add(english3Field);

        panel.add(sports3Label);
        panel.add(sports3Field);

        panel.add(outlineLabel);
        panel.add(outlineField);

        panel.add(mathLabel);
        panel.add(mathField);

        panel.add(dataLabel);
        panel.add(dataField);

        panel.add(digitLabel);
        panel.add(digitField);

        panel.add(databaseLabel);
        panel.add(databaseField);

        panel.add(dataExperimentLabel);
        panel.add(dataExperimentField);

        panel.add(english4Field);
        panel.add(english4Label);

        panel.add(sports4Field);
        panel.add(sports4Label);

        panel.add(principleLabel);
        panel.add(principleField);

        panel.add(policyField);
        panel.add(policyLabel);

        panel.add(computerField);
        panel.add(computerLabel);

        panel.add(javaField);
        panel.add(javaLabel);

        panel.add(operateField);
        panel.add(operateLabel);

        panel.add(javaExperimentField);
        panel.add(javaExperimentLabel);

        panel.add(linuxField);
        panel.add(linuxLabel);

        panel.add(tow1);
        panel.add(tow2);

        panel.add(start);
        panel.add(reset);

        panel.add(resultLable);
        this.setContentPane(panel);
    }
    //初始化组件
    public void initModule() {
        //初始化相关组件

        //大二上
        //设置字体的类型,加粗,和大小
        tow1.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
        tow1.setBounds(460,0,150,50);

        //健康教育
        //设置字体的类型,加粗,和大小
        healthLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        healthLabel.setBounds(10,55,100,50);
        //文本框的位置和大小
        healthField.setBounds(140,60,150,40);
        healthField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学生求职择业与职业发展
       //设置字体的类型,加粗,和大小
        jobLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        jobLabel.setBounds(540,55,260,50);
        //文本框的位置和大小
        jobField.setBounds(800,60,150,40);
        jobField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学英语(三)
        //设置字体的类型,加粗,和大小
        english3Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        english3Label.setBounds(10,110,130,50);
        //文本框的位置和大小
        english3Field.setBounds(140,115,150,40);
        english3Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //大学体育(三)
        //设置字体的类型,加粗,和大小
        sports3Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        sports3Label.setBounds(330,110,130,50);
        //文本框的位置和大小
        sports3Field.setBounds(460,115,150,40);
        sports3Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //中国近现代史纲要
        //设置字体的类型,加粗,和大小
        outlineLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        outlineLabel.setBounds(640,110,150,50);
        //文本框的位置和大小
        outlineField.setBounds(800,115,150,40);
        outlineField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //离散数学
        //设置字体的类型,加粗,和大小
        mathLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        mathLabel.setBounds(10,170,100,50);
        //文本框的位置和大小
        mathField.setBounds(140,175,150,40);
        mathField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据结构
        //设置字体的类型,加粗,和大小
        dataLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        dataLabel.setBounds(330,170,100,50);
        //文本框的位置和大
        dataField.setBounds(460,175,150,40);
        dataField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数字逻辑
        //设置字体的类型,加粗,和大小
        digitLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        digitLabel.setBounds(640,170,100,50);
        //文本框的位置和大小
        digitField.setBounds(800,175,150,40);
        digitField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据库原理
        //设置字体的类型,加粗,和大小
        databaseLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        databaseLabel.setBounds(10,220,120,50);
        //文本框的位置和大小
        databaseField.setBounds(140,225,150,40);
        databaseField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //数据结构实验
        //设置字体的类型,加粗,和大小
        dataExperimentLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        dataExperimentLabel.setBounds(330,220,140,50);
        //文本框的位置和大小
        dataExperimentField.setBounds(460,225,150,40);
        dataExperimentField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));



        //标签的位置和大小
        tow2.setFont(new Font("Microsoft YaHei",Font.BOLD,40));
        tow2.setBounds(460,300,150,50);

        //设置字体的类型,加粗,和大小
        english4Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        english4Label.setBounds(10,360,130,50);
        //文本框的位置和大小
        english4Field.setBounds(140,365,150,40);
        english4Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        sports4Label.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        sports4Label.setBounds(330,360,130,50);
        //文本框的位置和大小
        sports4Field.setBounds(460,365,150,40);
        sports4Field.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

       //设置字体的类型,加粗,和大小
        principleLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        principleLabel.setBounds(10,410,200,50);
        //文本框的位置和大小
        principleField.setBounds(210,415,150,40);
        principleField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        policyLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        policyLabel.setBounds(380,410,200,50);
        //文本框的位置和大小
        policyField.setBounds(500,415,150,40);
        policyField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        computerLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        computerLabel.setBounds(670,410,200,50);
        //文本框的位置和大小
        computerField.setBounds(820,415,150,40);
        computerField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        javaLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        javaLabel.setBounds(10,460,200,50);
        //文本框的位置和大小
        javaField.setBounds(140,465,150,40);
        javaField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

        //设置字体的类型,加粗,和大小
        operateLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        operateLabel.setBounds(330,460,400,50);
        //文本框的位置和大小
        operateField.setBounds(460,465,150,40);
        operateField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

       //设置字体的类型,加粗,和大小
        javaExperimentLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        javaExperimentLabel.setBounds(640,460,400,50);
        //文本框的位置和大小
        javaExperimentField.setBounds(800,465,150,40);
        javaExperimentField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));


        //设置字体的类型,加粗,和大小
        linuxLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        linuxLabel.setBounds(10,520,420,50);
        //文本框的位置和大小
        linuxField.setBounds(160,525,150,40);
        linuxField.setFont(new Font("Microsoft YaHei",Font.BOLD,20));

         //放置按钮
        start.setFont(new Font("楷体",Font.BOLD,15));
        start.setBounds(500,650,230,80);

        reset.setFont(new Font("楷体",Font.BOLD,15));
        reset.setBounds(750,650,230,80);

        resultLable.setBounds(10,590,1000,50);
        resultLable.setFont(new Font("Microsoft YaHei",Font.BOLD,45));

    }


    public void buttonAction() {
        //按钮绑定动作事件,和自己绑定,自己实现的监听的方法
        start.addActionListener(this);
        reset.addActionListener(this);
    }

    //提取数据并判断数据是否合法
    public void judge() {
       String number="";
       number=healthField.getText().trim();
       if(isInteger(number)){
           health=Integer.parseInt(number);
           number=jobField.getText().trim();
           if(isInteger(number)){
               job=Integer.parseInt(number);
               number=english3Field.getText().trim();
               if(isInteger(number)){
                   english3=Integer.parseInt(number);
                   number=sports3Field.getText().trim();
                   if(isInteger(number)){
                       sports3=Integer.parseInt(number);
                       number=outlineField.getText().trim();
                       if(isInteger(number)){
                           outline=Integer.parseInt(number);
                           number=mathField.getText().trim();
                           if(isInteger(number)){
                               math=Integer.parseInt(number);
                               number=dataField.getText().trim();
                               if(isInteger(number)){
                                   data=Integer.parseInt(number);
                                   number=digitField.getText().trim();
                                   if(isInteger(number)){
                                       digit=Integer.parseInt(number);
                                       number=databaseField.getText().trim();
                                       if(isInteger(number)){
                                           database=Integer.parseInt(number);
                                           number=dataExperimentField.getText().trim();
                                           if(isInteger(number)){
                                               dataExperiment=Integer.parseInt(number);
                                               number=english4Field.getText().trim();
                                               if(isInteger(number)){
                                                   english4=Integer.parseInt(number);
                                                   number=sports4Field.getText().trim();
                                                   if(isInteger(number)){
                                                       sports4=Integer.parseInt(number);
                                                       number=principleField.getText().trim();
                                                       if(isInteger(number)){
                                                           principle=Integer.parseInt(number);
                                                           number=policyField.getText().trim();
                                                           if(isInteger(number)){
                                                               policy=Integer.parseInt(number);
                                                               number=computerField.getText().trim();
                                                               if(isInteger(number)){
                                                                   computer=Integer.parseInt(number);
                                                                   number=javaField.getText().trim();
                                                                   if(isInteger(number)){
                                                                       java=Integer.parseInt(number);
                                                                       number=operateField.getText().trim();
                                                                       if(isInteger(number)){
                                                                           operate=Integer.parseInt(number);
                                                                           number=javaExperimentField.getText().trim();
                                                                           if(isInteger(number)){
                                                                               javaExperiment=Integer.parseInt(number);
                                                                               number=linuxField.getText().trim();
                                                                               if(isInteger(number)){
                                                                                   linux=Integer.parseInt(number);
                                                                               }else{
                                                                                   warning("Linux及程序设计的分数输入不合法");
                                                                               }
                                                                           }else{
                                                                               warning("Java实验的分数输入不合法");
                                                                           }
                                                                       }else{
                                                                           warning("操作系统的分数输入不合法");
                                                                       }
                                                                   }else{
                                                                       warning("Java的分数输入不合法");
                                                                   }
                                                               }else{
                                                                   warning("计算机组成原理的分数输入不合法");
                                                               }
                                                           }else{
                                                               warning("形势与政策的分数输入不合法");
                                                           }
                                                       }else{
                                                           warning("马克思主义基本原理的分数输入不合法");
                                                       }
                                                   }else{
                                                       warning("大学体育(四)的分数输入不合法");
                                                   }
                                               }else{
                                                   warning("大学英语(四)的分数输入不合法");
                                               }
                                           }else{
                                               warning("数据结构实验的分数输入不合法");
                                           }
                                       }else{
                                           warning("数据库原理的分数输入不合法");
                                       }
                                   }else{
                                       warning("数字逻辑的分数输入不合法");
                                   }
                               }else{
                                   warning("数据结构的分数输入不合法");
                               }
                           }else{
                               warning("离散数学的分数输入不合法");
                           }
                       }else{
                           warning("中国近代史纲要的分数输入不合法");
                       }
                   }else{
                       warning("大学体育(三)的分数输入不合法");
                   }
               }else{
                   warning("大学英语(三)的分数输入不合法");
               }
           }else{
               warning("大学生求职择业与职业发展的分数输入不合法");
           }
       }else{
           warning("健康教育的分数输入不合法");
       }
    }
    //计算最终的结果
    public void result(){
        int []score=new int[credit.length];
        //需要放在方法里面,不然会重复执行
        //总评分F2
        double resultF2=0;
        //(各课程学分*单科成绩)之和
        long sumScore=0;
        //总课程学分之和
        int sumCredit=0;

        score[0]=health;
        score[1]=job;
        score[2]=english3;
        score[3]=sports3;
        score[4]=outline;
        score[5]=math;
        score[6]=data;
        score[7]=digit;
        score[8]=database;
        score[9]=dataExperiment;
        score[10]=english4;
        score[11]=sports4;
        score[12]=principle;
        score[13]=policy;
        score[14]=computer;
        score[15]=java;
        score[16]=operate;
        score[17]=javaExperiment;
        score[18]=linux;

        for (int i = 0; i < credit.length; i++) {
            sumCredit+=credit[i];
            sumScore+=credit[i]*score[i];
        }
        resultF2=1.0*sumScore/sumCredit;

        //显示结果
        resultLable.setText("您的最终F2是:"+resultF2);
    }

    //必须重写actionPerformed方法
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        JButton button =(JButton)e.getSource();//获得触发此次动作事件的按钮对象
        String buttonName =e.getActionCommand();//获得触发此次动作事件的按钮的标签文本
        if(buttonName.equals("开始计算")) {
            //提取数据并判断数据是否合法
            judge();
            //计算最终F2的结果
            result();
        }else if(buttonName.equals("清空数据")) {
            //清空文本框里面的内容
            healthField.setText("");
            jobField.setText("");
            english3Field.setText("");
            sports3Field.setText("");
            outlineField.setText("");
            mathField.setText("");
            dataField.setText("");
            digitField.setText("");
            databaseField.setText("");
            dataExperimentField.setText("");
            english4Field.setText("");
            sports4Field.setText("");
            principleField.setText("");
            policyField.setText("");
            computerField.setText("");
            javaField.setText("");
            operateField.setText("");
            javaExperimentField.setText("");
            linuxField.setText("");
        }
    }

    //输出警告弹窗
    static public void warning(String str) {

        //添加一个弹窗的警告
        JDialog jDialog=new JDialog();//创建弹窗对象
        jDialog.setTitle("警告");//设置弹窗标题,和Frame差不多,可能还要通过标签来提示
        jDialog.setSize(500,400);//设置弹窗的大小
        jDialog.setAlwaysOnTop(true);//让弹窗置顶
        jDialog.setLocationRelativeTo(null);//让弹窗居中
        jDialog.setModal(true);//弹窗不关闭则无法操作下面的界面

        //警告标签,放在弹窗里面
        final JLabel warningLabel=new JLabel(str,JLabel.CENTER);
        //设置字体的类型,加粗,和大小
        warningLabel.setFont(new Font("Microsoft YaHei",Font.BOLD,20));
        //标签的位置和大小
        warningLabel.setBounds(0,100,500,100);

        //这个也要取消布局管理器才行
        //jDialog.getContentPane().setLayout(null);
        //往弹窗中添加标签(垂直加居中放置标签)
        jDialog.getContentPane().add(warningLabel,BorderLayout.CENTER);
        jDialog.setVisible(true);//让弹窗显示出来
    }

    //判断是否是[0-100]之间的整数
    public boolean isInteger(String number){
        String regex="(100|[1-9][0-9]{0,1})";
        if(number.matches(regex)){
            return true;
        }else {
            return false;
        }
    }
}

Excel

刚开始我是想用MATLAB来实现的,但是MATLAB导入数据还是需要从Excel里面导入,所以我就想Excel能不能直接计算呢,答案发现是肯定的,他对于求和和平均数之类的都有,而这个就不过是公式不一样而已,我们自己自定义公式就行了。

 直接输入分数在后面输入公式即可。(下方是我的公式)随便写一些数据

(B2+C2+2*D2+E2+3*F2+4*G2+4*H2+4*I2+4*J2+K2+2*L2+M2+3*N2+2*O2+5*P2+3*Q2+4*R2+S2+3*T2)/49

课程学习成绩评分F2计算器_第2张图片 

总结:

这个写下来感觉是有点特意的感觉了,因为本来用Excel就可以实现,你还编一个代码,非常没有必要,但是这个我有必要辩解一下,因为我Excel不是很熟练,是后面突发奇想试验出来的,没有想到如此方面。在写之前我也能够感受到这个程序有很大的弊端就是他通用性不高,是针对自己班级来实现的,但是为什么我还写呢,所以我有了这个想法,我有能够去实现它,当这个东西做出来之后,我也可以得到满足感,这种反馈就可以让我更加的自信,学习起来也更加有意思一点。

 那这个简单的程序就到这里了,希望大家能够多多支持。

你可能感兴趣的:(python,开发语言)