From 796ff3d014c314d8efceca71d2c7f3a2cc7f8983 Mon Sep 17 00:00:00 2001 From: Pythagodzilla Date: Tue, 28 Oct 2025 12:54:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log.py | 1 - main.py | 16 ---------------- src/main.py | 8 +++++--- src/uncertainly.py | 32 ++++++++++++++++++++------------ 4 files changed, 25 insertions(+), 32 deletions(-) delete mode 100644 log.py delete mode 100644 main.py diff --git a/log.py b/log.py deleted file mode 100644 index f09f064..0000000 --- a/log.py +++ /dev/null @@ -1 +0,0 @@ -import logger diff --git a/main.py b/main.py deleted file mode 100644 index 709aa31..0000000 --- a/main.py +++ /dev/null @@ -1,16 +0,0 @@ -from uncertainly import Uncertainly -import logger - -number_input: str = input("Data input:") -type_B_uncertain: float = float(input("type_B_uncertain: ")) -param_tp: float = float(input("tp input: ")) - -number_list:tuple = number_input.split - -try: - numbers = [float(num_str) for num_str in number_list] - uncertain_processor = Uncertainly(numbersm, type_B_uncertain=type_B_uncertain,param_tp=param_tp) - uncertain_processor.output_std - -except Exception as e: - logger.exception(e) \ No newline at end of file diff --git a/src/main.py b/src/main.py index 3b36705..d74f470 100644 --- a/src/main.py +++ b/src/main.py @@ -4,13 +4,15 @@ number_input = input("Data input:") type_B_uncertain: float = float(input("type_B_uncertain: ")) param_tp: float = float(input("tp input: ")) -number_list:tuple = number_input.split() +number_list: list = number_input.split() try: numbers = [float(num_str) for num_str in number_list] print(numbers) - uncertain_processor = Uncertainly(data=numbers, type_B_uncertain=type_B_uncertain,param_tp=param_tp) + uncertain_processor = Uncertainly( + data=numbers, type_B_uncertain=type_B_uncertain, param_tp=param_tp + ) uncertain_processor.output_std() except Exception as e: - print(e) \ No newline at end of file + print(e) diff --git a/src/uncertainly.py b/src/uncertainly.py index 693d3b4..f302ddd 100644 --- a/src/uncertainly.py +++ b/src/uncertainly.py @@ -1,5 +1,6 @@ from math import sqrt + class Uncertainly: __slots__ = [ "average", @@ -8,20 +9,22 @@ class Uncertainly: "type_A_uncertain", "type_B_uncertain", "total_uncertain", - "data" + "data", ] - def __init__(self, data: tuple, type_B_uncertain: float, param_tp: float): + def __init__(self, data: list, type_B_uncertain: float, param_tp: float): self.data = data - self.average:float = sum(self.data) / len(self.data) + self.average: float = sum(self.data) / len(self.data) self.length = len(self.data) - - # def cal_standard_deviation(self): - data_cut = [(datum-self.average) ** 2 for datum in self.data] - self.standard_deviation:float = sqrt(sum(data_cut) / (self.length - 1)) + # def cal_standard_deviation(self): + data_cut = [(datum - self.average) ** 2 for datum in self.data] - self.type_A_uncertain:float = param_tp * self.standard_deviation / sqrt(self.length) + self.standard_deviation: float = sqrt(sum(data_cut) / (self.length - 1)) + + self.type_A_uncertain: float = ( + param_tp * self.standard_deviation / sqrt(self.length) + ) self.total_uncertain = 2 * sqrt(self.type_A_uncertain**2 + type_B_uncertain**2) self.type_B_uncertain = type_B_uncertain @@ -30,7 +33,12 @@ class Uncertainly: print(f"平均为:{self.data}/{self.length}={self.average}\n") # print(f"{self.average}\n") print(f"标准差:{round(self.standard_deviation,4)}") - print(f"3S区间:[{round(self.average - 3 * self.standard_deviation,4)},{round(self.average +3 * self.standard_deviation,4)}]") - print(f"B类不确定度确认:{self.type_B_uncertain}\n") - print(f"总不确定度:2 * ✓{round(self.type_A_uncertain,4)}^2 + {round(self.type_B_uncertain,4)}^2={round(self.total_uncertain,4)}") - print(f"结果表达式为:{round(self.average,4)}+-{round(self.total_uncertain,4)}") \ No newline at end of file + print( + f"3S区间: [{round(self.average - 3 * self.standard_deviation,4)},{round(self.average +3 * self.standard_deviation,4)}]" + ) + print(f"A类不确定度确认: {round(self.type_A_uncertain,4)}") + print(f"B类不确定度确认: {self.type_B_uncertain}\n") + print( + f"总不确定度: 2 * ✓{round(self.type_A_uncertain,4)}^2 + {round(self.type_B_uncertain,4)}^2={round(self.total_uncertain,4)}" + ) + print(f"结果表达式为:{round(self.average,4)}+-{round(self.total_uncertain,4)}")