23201115-邓俊豪-第三次blog

news/2024/10/6 4:24:32/文章来源:https://www.cnblogs.com/118djh/p/18276762

目录
  • blog2
    • 前言
      • 关于难度和题目量
      • 关于知识点
    • 设计与分析
      • pta-7
        • 一、项目简介
        • 二、项目实现
        • 三、项目测试
        • 四、代码示例
        • 五、总结
        • 六、代码分析
      • pta-8
        • 一、项目简介
        • 二、项目实现
        • 三、项目测试
        • 四、代码示例
        • 五、总结
        • 六、代码分析
    • 改进建议

blog2

前言

关于难度和题目量

前三次大作业难度属于偏难水平,题目量也在可承受范围内

关于知识点

以下是一些总结的知识点:

  1. 类的定义:在Java中,使用class关键字来定义类,可以包含属性和方法。
  2. 继承和抽象类:通过extends关键字实现类的继承,抽象类使用abstract关键字定义,抽象方法需要在子类中实现。
  3. 接口:接口定义了一组方法的规范,类通过implements关键字实现接口,实现接口的类需要实现接口中定义的所有方法。
  4. HashMap和ArrayList:HashMap是Java中的哈希表实现,用于存储键值对;ArrayList是动态数组,用于存储对象的集合。
  5. 正则表达式:通过Pattern和Matcher类实现正则表达式的匹配和提取。
  6. 输入输出:使用Scanner类实现从控制台输入数据,System.out.println()用于输出数据。
  7. 排序:使用Collections.sort()方法对集合进行排序。
  8. 方法的重写和重载:在子类中重写父类的方法,实现不同的功能;方法重载是指在同一个类中,方法名相同但参数列表不同的情况。
  9. 深度复制: 复制之后的对象有一个新的地址

设计与分析

pta-7

一、项目简介

本文将介绍如何使用 Java 实现一个简单的电路系统。该系统可以模拟开关、调速器、风扇、灯泡等电子元件的工作状态,并根据用户输入的指令进行相应的操作。

二、项目实现

  1. 设备类:定义了设备类 Device,其中包含设备名称、是否打开、引脚 1 电压、引脚 2 电压、电阻、电流等属性,以及显示设备信息、改变设备状态、调速等方法。
  2. 控制设备类:定义了控制设备类 ControlledDevice,继承自设备类 Device,其中包含改变设备状态的方法。
  3. 控制设备类:定义了控制设备类 ControllingDevice,继承自设备类 Device,其中包含调速方法。
  4. 串联电路类:定义了串联电路类 SeriesCircuit,继承自设备类 Device,其中包含计算电流的方法。
  5. 开关类:定义了开关类 Switch,继承自控制设备类 ControllingDevice,其中包含打开和关闭开关的方法。
  6. 调速器类:定义了调速器类 SpeedController,继承自控制设备类 ControllingDevice,其中包含调速方法。
  7. 连续调速器类:定义了连续调速器类 ContinuousSpeedController,继承自调速器类 SpeedController,其中包含改变调速值的方法。
  8. 换挡调速器类:定义了换挡调速器类 ShiftSpeedController,继承自调速器类 SpeedController,其中包含换挡的方法。
  9. 风扇类:定义了风扇类 Fan,继承自控制设备类 ControlledDevice,其中包含计算风速的方法。
  10. 吊扇类:定义了吊扇类 CeilingFan,继承自风扇类 Fan,其中包含计算风速的具体实现。
  11. 灯泡类:定义了灯泡类 Lamp,继承自控制设备类 ControlledDevice,其中包含计算亮度的方法。
  12. 白炽灯类:定义了白炽灯类 IncandescentLamp,继承自灯泡类 Lamp,其中包含计算亮度的具体实现。
  13. 荧光灯类:定义了荧光灯类 FluorescentLamp,继承自灯泡类 Lamp,其中包含计算亮度的具体实现。
  14. 主函数类:定义了主函数类 Main,其中包含获取设备对象、处理用户指令、更新设备状态、显示设备信息等方法。

三、项目测试

  1. 输入设备指令,例如 [VCC 1-1][1-2 2-1][2-2 GND] 等。
  2. 输入控制指令,例如 #K1#F1+#L1:on 等。
  3. 输入结束指令 end
  4. 程序将输出设备的状态信息,例如开关的打开或关闭状态、调速器的当前速度、风扇的风速、灯泡的亮度等。

四、代码示例

import java.util.ArrayList;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);ArrayList<String> stringArrayList = new ArrayList<>();while (true) {String s = scanner.nextLine();if (s.equals("end")) {break;} else {stringArrayList.add(s);}}ArrayList<Device> deviceArrayList = new ArrayList<>();for (String s : stringArrayList) {if (GetDevice(s)!= null) {deviceArrayList.add(GetDevice(s));}}deviceArrayList.remove(deviceArrayList.size() - 2);a(stringArrayList, deviceArrayList);if (b(deviceArrayList)) {if (deviceArrayList.size() == 1) {deviceArrayList.get(0).setPin1(220);} else {for (int i = 0; i < deviceArrayList.size() - 1; i++) {deviceArrayList.get(i).SpeedRegulation();deviceArrayList.get(i + 1).setPin1(deviceArrayList.get(i).getPin2());}}} else {for (Device device : deviceArrayList) {device.setPin1(0);device.setPin2(0);}}for (Device device : deviceArrayList) {if (device instanceof Switch) {device.show();}}for (Device device : deviceArrayList) {if (!(device instanceof Switch)) {device.show();}}}
}

五、总结

通过以上步骤,我们可以使用 Java 实现一个简单的电路系统。该系统可以模拟开关、调速器、风扇、灯泡等电子元件的工作状态,并根据用户输入的指令进行相应的操作。

六、代码分析


Metrics Details For File 'pta5.java'

Parameter Value
========= =====
Project Directory C:\Users\11813\Desktop\java文件
Project Name blog2
Checkpoint Name Baseline
File Name pta5.java
Lines 384*
Statements 274
Percent Branch Statements 21.5
Method Call Statements 95
Percent Lines with Comments 0.0
Classes and Interfaces 14
Methods per Class 3.64
Average Statements per Method 3.71
Line Number of Most Complex Method 362
Name of Most Complex Method Main.main()
Maximum Complexity 16
Line Number of Deepest Block 317
Maximum Block Depth 6
Average Block Depth 2.27
Average Complexity 2.25


Most Complex Methods in 13 Class(es): Complexity, Statements, Max Depth, Calls

CeilingFan.CalculateSpeed() 5, 11, 3, 3
CeilingFan.CeilingFan() 1, 1, 2, 1
CeilingFan.show() 1, 2, 2, 2
ContinuousSpeedController.change() 1, 1, 2, 0
ContinuousSpeedController.ContinuousSpeedController() 1, 1, 2, 1
ContinuousSpeedController.show() 1, 1, 2, 1
ContinuousSpeedController.SpeedRegulation() 1, 1, 2, 1
ControlledDevice.ControlledDevice() 1, 1, 2, 1
ControllingDevice.ControllingDevice() 1, 1, 2, 1
Device.change() 1, 0, 0, 0
Device.Device() 1, 0, 0, 0
Device.getI() 1, 1, 2, 0
Device.getName() 1, 1, 2, 0
Device.getPin1() 1, 1, 2, 0
Device.getPin2() 1, 1, 2, 0
Device.getR() 1, 1, 2, 0
Device.isOpen() 1, 1, 2, 0
Device.setI() 1, 1, 2, 0
Device.setName() 1, 1, 2, 0
Device.setOpen() 1, 1, 2, 0
Device.setPin1() 1, 1, 2, 0
Device.setPin2() 1, 1, 2, 0
Device.setR() 1, 1, 2, 0
Device.show() 1, 0, 0, 0
Device.SpeedRegulation() 1, 0, 0, 0
Fan.Fan() 1, 1, 2, 1
Fan.getSpeed() 1, 1, 2, 0
Fan.setSpeed() 1, 1, 2, 0
FluorescentLamp.CalculateLux() 3, 5, 3, 2
FluorescentLamp.show() 1, 2, 2, 2
IncandescentLamp.CalculateLux() 7, 9, 3, 4
IncandescentLamp.show() 1, 2, 2, 2
Lamp.getLux() 1, 1, 2, 0
Lamp.Lamp() 1, 2, 2, 1
Lamp.setLux() 1, 1, 2, 0
Main.a() 14, 32, 6, 18
Main.b() 3, 4, 4, 1
Main.GetDevice() 13, 38, 5, 21
Main.main() 16, 30, 5, 19
ShiftSpeedController.change() 5, 4, 3, 2
ShiftSpeedController.ShiftSpeedController() 1, 2, 2, 1
ShiftSpeedController.show() 1, 1, 2, 1
ShiftSpeedController.SpeedRegulation() 1, 1, 2, 1
SpeedController.SpeedController() 1, 1, 2, 1
Switch.change() 3, 4, 3, 0
Switch.isOpen() 1, 1, 2, 0
Switch.setOpen() 1, 1, 2, 0
Switch.show() 3, 6, 3, 1
Switch.SpeedRegulation() 3, 4, 3, 2
Switch.Switch() 1, 2, 2, 2
Switch.Switch() 1, 1, 2, 0


Block Depth Statements

0 18
1 67
2 88
3 48
4 32
5 18
6 3
7 0
8 0
9+ 0


pta-8

一、项目简介

本文将介绍如何使用 Java 实现一个简单的电路系统。该系统可以模拟开关、调速器、风扇、灯泡等电子元件的工作状态,并根据用户输入的指令进行相应的操作。

二、项目实现

  1. 设备类:定义了设备类 Device,其中包含设备名称、是否打开、电阻、电流、电压等属性,以及计算电阻、计算电流、显示设备信息等方法。
  2. 控制设备类:定义了控制设备类 ControlledDevice,继承自设备类 Device,其中包含改变设备状态的方法。
  3. 控制设备类:定义了控制设备类 ControllingDevice,继承自设备类 Device,其中包含调速方法。
  4. 开关类:定义了开关类 Switch,继承自控制设备类 ControllingDevice,其中包含打开和关闭开关的方法。
  5. 调速器类:定义了调速器类 SpeedController,继承自控制设备类 ControllingDevice,其中包含调速方法。
  6. 连续调速器类:定义了连续调速器类 ContinuousSpeedController,继承自调速器类 SpeedController,其中包含改变调速值的方法。
  7. 换挡调速器类:定义了换挡调速器类 ShiftSpeedController,继承自调速器类 SpeedController,其中包含换挡的方法。
  8. 风扇类:定义了风扇类 Fan,继承自控制设备类 ControlledDevice,其中包含计算风速的方法。
  9. 吊扇类:定义了吊扇类 CeilingFan,继承自风扇类 Fan,其中包含计算风速的具体实现。
  10. 落地扇类:定义了落地扇类 FloorFan,继承自风扇类 Fan,其中包含计算风速的具体实现。
  11. 灯泡类:定义了灯泡类 Lamp,继承自控制设备类 ControlledDevice,其中包含计算亮度的方法。
  12. 白炽灯类:定义了白炽灯类 IncandescentLamp,继承自灯泡类 Lamp,其中包含计算亮度的具体实现。
  13. 荧光灯类:定义了荧光灯类 FluorescentLamp,继承自灯泡类 Lamp,其中包含计算亮度的具体实现。
  14. 线路类:定义了线路类 Line,其中包含设备列表、是否为主线等属性,以及计算电阻、计算电流、显示设备信息等方法。
  15. 并联电路类:定义了并联电路类 ParallelCircuits,其中包含设备列表等属性,以及计算电阻、计算电流、显示设备信息等方法。
  16. 输入类:定义了输入类 Input,其中包含输入数据、解析数据等方法。
  17. 主函数类:定义了主函数类 Main,其中包含读取输入数据、解析输入数据、计算电路状态、显示设备信息等方法。

三、项目测试

  1. 输入设备指令,例如 #T1:[IN K1]#T2:[VCC F1+]#M1:T1 T2 等。
  2. 输入控制指令,例如 #K1#F1+#L1:on 等。
  3. 输入结束指令 end
  4. 程序将输出设备的状态信息,例如开关的打开或关闭状态、调速器的当前速度、风扇的风速、灯泡的亮度等。

四、代码示例

import java.util.ArrayList;
import java.util.Scanner;
import java.util.TreeMap;public class Main {public static void main(String[] args) {Input input = new Input();input.getInputData();TreeMap<String, Device> deviceTreeMap = new TreeMap<>(new ReverseComparator());ArrayList<Line> list = new ArrayList<>();input.parse(deviceTreeMap, list);for (Line line : list) {if (line.getIsMain() == 1) {line.countR();}}for (Line line : list) {if (line.getIsMain() == 1) {line.setU(220);int flag = 0;for (Device device : line.getDeviceArrayList()) {if (device instanceof SpeedController) {device.SpeedRegulation();line.is();if (line.isOpen()) {line.setI((220 - device.getU()) / line.getR());line.countI();flag = 1;}}}if (flag == 0) {line.is();if (line.isOpen()) {line.setI(220 / line.getR());line.countI();}}}}for (Device device : deviceTreeMap.values()) {device.show();}}
}

五、总结

通过以上步骤,我们可以使用 Java 实现一个简单的电路系统。该系统可以模拟开关、调速器、风扇、灯泡等电子元件的工作状态,并根据用户输入的指令进行相应的操作。

六、代码分析


Metrics Details For File 'pta6.java'

Parameter Value
========= =====
Project Directory C:\Users\11813\Desktop\java文件
Project Name blog2
Checkpoint Name Baseline
File Name pta6.java
Lines 746*
Statements 572
Percent Branch Statements 17.0
Method Call Statements 263
Percent Lines with Comments 0.3
Classes and Interfaces 18
Methods per Class 4.72
Average Statements per Method 5.09
Line Number of Most Complex Method 557
Name of Most Complex Method Input.parse()
Maximum Complexity 30
Line Number of Deepest Block 581
Maximum Block Depth 9+
Average Block Depth 2.60
Average Complexity 2.25


Most Complex Methods in 18 Class(es): Complexity, Statements, Max Depth, Calls

CeilingFan.CeilingFan() 1, 1, 2, 1
CeilingFan.Copy() 1, 9, 2, 6
CeilingFan.Count() 5, 11, 3, 3
CeilingFan.show() 1, 2, 2, 2
ContinuousSpeedController.change() 1, 1, 2, 0
ContinuousSpeedController.ContinuousSpeedController() 1, 1, 2, 1
ContinuousSpeedController.Copy() 1, 9, 2, 6
ContinuousSpeedController.getA() 1, 1, 2, 0
ContinuousSpeedController.setA() 1, 1, 2, 0
ContinuousSpeedController.show() 1, 1, 2, 1
ContinuousSpeedController.SpeedRegulation() 1, 1, 2, 1
ControlledDevice.ControlledDevice() 1, 1, 2, 1
ControllingDevice.ControllingDevice() 1, 1, 2, 1
Device.change() 1, 0, 0, 0
Device.Copy() 1, 6, 2, 0
Device.Count() 1, 0, 0, 0
Device.countI() 1, 0, 0, 0
Device.countR() 1, 1, 2, 0
Device.Device() 1, 0, 0, 0
Device.getI() 1, 1, 2, 0
Device.getName() 1, 1, 2, 0
Device.getR() 1, 1, 2, 0
Device.getU() 1, 1, 2, 0
Device.is() 1, 0, 0, 0
Device.isOpen() 1, 1, 2, 0
Device.setI() 1, 1, 2, 0
Device.setName() 1, 1, 2, 0
Device.setOpen() 1, 1, 2, 0
Device.setR() 1, 1, 2, 0
Device.setU() 1, 1, 2, 0
Device.show() 1, 0, 0, 0
Device.SpeedRegulation() 1, 0, 0, 0
Fan.Fan() 1, 1, 2, 1
Fan.getSpeed() 1, 1, 2, 0
Fan.setSpeed() 1, 1, 2, 0
FloorFan.Copy() 1, 9, 2, 6
FloorFan.Count() 11, 17, 3, 6
FloorFan.FloorFan() 1, 1, 2, 1
FloorFan.show() 1, 2, 2, 2
FluorescentLamp.Copy() 1, 9, 2, 6
FluorescentLamp.Count() 3, 5, 3, 2
FluorescentLamp.FluorescentLamp() 1, 1, 2, 1
FluorescentLamp.show() 1, 2, 2, 2
IncandescentLamp.Copy() 1, 9, 2, 6
IncandescentLamp.Count() 7, 9, 3, 4
IncandescentLamp.IncandescentLamp() 1, 1, 2, 1
IncandescentLamp.show() 1, 2, 2, 2
Input.a() 7, 10, 5, 12
Input.deepCopyArrayList() 2, 4, 3, 3
Input.getInputData() 4, 8, 4, 3
Input.parse() 30, 99, 9, 80
Lamp.getLux() 1, 1, 2, 0
Lamp.Lamp() 1, 2, 2, 1
Lamp.setLux() 1, 1, 2, 0
Line.Copy() 1, 10, 2, 7
Line.countI() 3, 9, 3, 7
Line.countR() 3, 9, 3, 4
Line.getDeviceArrayList() 1, 1, 2, 0
Line.getIsMain() 1, 1, 2, 0
Line.is() 3, 6, 4, 4
Line.setDeviceArrayList() 1, 1, 2, 0
Line.setIsMain() 1, 1, 2, 0
Main.b() 3, 4, 4, 1
Main.main() 11, 27, 7, 20
ParallelCircuits.Copy() 1, 9, 2, 6
ParallelCircuits.countI() 4, 14, 4, 8
ParallelCircuits.countR() 7, 17, 5, 6
ParallelCircuits.getDeviceArrayList() 1, 1, 2, 0
ParallelCircuits.is() 3, 6, 4, 4
ParallelCircuits.setDeviceArrayList() 1, 1, 2, 0
ReverseComparator.compare() 9, 23, 4, 6
ShiftSpeedController.change() 5, 4, 3, 2
ShiftSpeedController.Copy() 1, 9, 2, 6
ShiftSpeedController.getArr() 1, 1, 2, 0
ShiftSpeedController.getShift() 1, 1, 2, 0
ShiftSpeedController.setShift() 1, 1, 2, 0
ShiftSpeedController.ShiftSpeedController() 1, 2, 2, 1
ShiftSpeedController.show() 1, 1, 2, 1
ShiftSpeedController.SpeedRegulation() 1, 1, 2, 1
SpeedController.SpeedController() 1, 1, 2, 1
Switch.change() 3, 4, 3, 3
Switch.Copy() 1, 7, 2, 5
Switch.show() 3, 6, 3, 2
Switch.Switch() 1, 2, 2, 2
Switch.Switch() 1, 1, 2, 1


Block Depth Statements

0 21
1 118
2 238
3 59
4 42
5 53
6 22
7 5
8 10
9+ 4


改进建议

  1. 异常处理
    • input方法中,当用户输入end时,可能会导致scanner.nextLine抛出NoSuchElementException。可以在try-catch块中捕获该异常,并优雅地处理结束输入的情况。
    • 在解析输入数据的过程中,如果遇到格式不正确的行,可以抛出自定义的异常,并在main方法中捕获和处理该异常,而不是直接打印错误信息。
  2. 代码注释
    • 在关键代码段添加注释,解释其功能和逻辑。
    • 为类和方法添加文档注释,说明其作用、参数和返回值。
  3. 用户界面
    • 提供命令行选项,让用户可以指定输入文件和输出文件的路径。
    • 考虑添加一些简单的交互提示,例如提示用户输入end来结束输入。
  4. 数据验证
    • 在解析问题库和试卷时,检查题号是否重复。
    • 对于答案,检查其是否符合问题的类型(单选、多选、填空等)。
  5. 性能优化
    • 对于频繁使用的HashMap,可以考虑在创建时指定初始容量,以提高性能。
    • 如果需要处理大量数据,可以考虑使用BufferedReader来逐行读取输入文件,而不是一次性读取所有内容到内存中。
  6. 代码结构
    • 将不同类型的问题(单选、多选、填空)抽象为不同的类,继承自一个共同的父类,以提高代码的可读性和可维护性。
    • 将解析输入数据的逻辑提取到单独的类中,以减少代码的复杂度。
  7. 测试用例
    • 编写更多的测试用例,覆盖各种情况,包括边界情况和异常情况。
    • 使用测试框架(如JUnit)来自动化测试过程。
  8. 日志记录
    • 在关键位置添加日志记录,以便在出现问题时能够快速定位和解决。
    • 可以将日志输出到文件或控制台。
  9. 扩展性
    • 设计代码时考虑到未来可能的扩展,例如支持新的问题类型或文件格式。
    • 使用接口或抽象类来定义一些通用的功能,以便在需要时进行扩展。
  10. 代码风格
    • 遵循统一的代码风格,例如使用空格或制表符进行缩进、命名变量和方法时使用有意义的名称等。
    • 可以使用代码格式化工具来自动格式化代码,确保风格一致。

以下是一个简单的示例,展示了如何添加异常处理和日志记录:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;class QuestionBase {// 其他代码不变
}abstract class Question {// 其他代码不变
}class SingleQuestion extends Question {// 其他代码不变
}class GapFillQuestion extends Question {// 其他代码不变
}class MulQuestion extends Question {// 其他代码不变
}class QuestionInPaper {// 其他代码不变
}class TextPaper {// 其他代码不变
}class Answer {// 其他代码不变
}class AnswerPaper implements Comparable<AnswerPaper> {// 其他代码不变
}class Student {// 其他代码不变
}class Parse {// 其他代码不变// 新增方法:处理输入异常public static ArrayList<String> input() {Scanner scanner = new Scanner(System.in);ArrayList<String> stringArrayList = new ArrayList<>();try {while (true) {String str4 = scanner.nextLine();if (str4.equals("end")) {break;}stringArrayList.add(str4);}} catch (Exception e) {// 处理异常情况,例如输入异常System.out.println("输入异常,请检查输入内容。");}return stringArrayList;}// 新增方法:记录日志public static void log(String message) {// 可以将日志输出到文件或控制台System.out.println("Log: " + message);}
}class Show {// 其他代码不变
}public class Main {public static void main(String[] args) {ArrayList<String> stringArrayList = Parse.input(); // 输入数据用 list 的方式保存HashMap<Integer, Question> questionHashMap = new HashMap<>(); // question.N questionParse parse = new Parse();questionHashMap = parse.Toquestionhashmap(stringArrayList);questionHashMap = parse.DeleteQuestion(questionHashMap, stringArrayList);HashMap<Integer, TextPaper> textPaperHashMap = parse.ToHashPaper(stringArrayList, questionHashMap);HashMap<String, Student> stringStudentHashMap = parse.ToStudentHashmap(stringArrayList);ArrayList<AnswerPaper> answerPaperArrayList = parse.ToAnswerpaperArraylist(stringArrayList, textPaperHashMap);ArrayList<TextPaper> textPaperArrayList = parse.TotextPaperArrayList(stringArrayList, questionHashMap);Show show = new Show();show.ShowWrongFormat(stringArrayList);show.ShowTextPaperScore(textPaperArrayList);Collections.sort(answerPaperArrayList);for (AnswerPaper answerPaper : answerPaperArrayList) {answerPaper = show.show1(answerPaper);show.show2(answerPaper, stringStudentHashMap);}}
}

在上述示例中,我们添加了一个input方法来处理输入异常,并使用log方法记录日志。这样可以提高代码的健壮性和可维护性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/734270.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fastapi 项目第二天首次访问时数据库连接报错问题Cant connect to MySQL server

问题描述 Fastapi 项目使用 sqlalchemy 连接的mysql 数据库,每次第二天首次访问数据库相关操作,都会报错:sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Cant connect to MySQL server on x.x.x.x ([Errno 111] Connection refused)"…

linux安装中文字体

1.从windows复制宋体字体2.linux系统下/usr/share/fonts 3.创建simsun路径,将字体文件放进去4.改一下字体权限 cd /usr/share/fonts/ sudo chmod -R myfonts 7555.安装依赖 yum install mkfontscale yum install fontconfig6.执行以下命令 mkfontscale mkfontdir fc-cache7.查看…

(五)DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍

DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍如需引用 DeepSpeed Chat,请引用我们的arxiv report: @article{yao2023dschat,title={{DeepSpeed-Chat: Easy, Fast and Affordable RLHF Training of ChatGPT-like Models at All Scales}},author={Zh…

第7-8次OOP作业总结

一、前言 1.第七次作业(家居强电电路模拟程序-3) 这次作业题目在原先的基础上新增用电器新增了互斥开关和受控窗帘,同时存在多个并联电路,无疑在上次作业的基础上过程没有太大变化,难度也是相当,主要是新的用电器的添加问题。并联电路的改动还好说,上次作业我便考虑到了,…

Python——比 Seaborn 更好的相关性热力图:Biokit Corrplot

在 Python 中我们日常分析数据的过程当中经常需要对数据进行相关性分析,相关性热力图(Correlation Heatmap)是我们经常使用的一种工具。通过相关性热力图,我们可以通过为相关性不同的数据使用不同深浅的不同颜色进行标记,从而直观地观察两两数据序列之间的相关性情况——这…

流量治理核心策略

熔断、隔离、重试、降级、超时、限流https://mp.weixin.qq.com/s/_3pht6cFdkuRfrE1z0dpKQ

第三次blog大作业

1,前言:最后两次大作业都是只有一道题,就是前面的家庭电路模拟题的迭代,题目量虽然看起来很少只有一道题目,但是这一道题目也比前面出几道题目的时候花的时间还要长,第七次大作业的迭代主要考虑的是单刀双置开光,单刀双置开关为了避免短路,他连接不同的电路还会有不同的…

PTA题目集7~8的总结性Blog

前言: 对于我这种水平的学生来说本次的7-8次PTA的难度之大令我无从下手,况且之前的第6次PTA就已经让我望而止步了,更别提这两次在第6次PTA题目集之上再次进行迭代的题目了。再加上面临的期末周,大量学科等着我去复习,以至于没时间去钻磨PTA的改动,哭死,连老师都说单单是…

如何刻画复杂事件

用简单的基本事件来刻画复杂事件前言 复杂事件的刻画 ✍️[网摘整理]设 \(A\),\(B\) 是试验 \(E\) 的随机事件,深入体会用基本事件的和或积的运算来刻画复杂事件,并熟练掌握: ① \(A\)发生:\(A=AB+A\bar{B}\); ② 只有 \(A\) 发生:\(A\bar{B}\); ③ \(A\),\(B\) 恰有一…

VS2022 csproject文件增加发布时文件项

发布时新加的node_modules 总是不会伴随着其他文件一起发布到文件夹里面。一个一个添加选项太麻烦了。百度查询后发现可以通过修改csproject 把node_modules //添加节点即可 <ItemGroup> <Content Include="wwwroot\assets\node_modules\**"> <C…

【OHSAS 18001标准制定方】

OHSAS 18001标准的制定方是多个国际标准机构和专业组织合作的结果。这一标准是在1999年由英国标准协会(British Standards Institution, BSI)联合全球多个标准制定机构、认证机构与专业组织共同发展的。OHSAS 18001标准的制定考虑了与ISO 9001(质量管理体系)和ISO 14001(环…

Django - admin list_filter 自定义过滤器

from django.contrib import admin from django.contrib.admin import SimpleListFilterclass MyStatusFilter(SimpleListFilter):# 设置过滤标题title = "订单状态"# 设置自定义过滤字段parameter_name = status2# 显示筛选条件def lookups(self, request, model_ad…