惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
小众软件
小众软件
S
SegmentFault 最新的问题
GbyAI
GbyAI
量子位
爱范儿
爱范儿
L
LangChain Blog
Vercel News
Vercel News
A
About on SuperTechFans
腾讯CDC
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
U
Unit 42
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
V
Visual Studio Blog
美团技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
N
Netflix TechBlog - Medium

博客园 - 岌岌可危

免费的打印管理软件easyjen 书籍链接 CrowdStrike引起的一次失败又成功的故障恢复 简单四则运算器 作业之打印金字塔 python作业 简单java servlet的登录脚本,部署到docker 如何在Windows Server 2016上重置用户“管理员”的密码 huey在windows下使用的坑 sublimeCodeIntel在windows下安装的坑 python pip安装失败 如何创建和编译动态链接库并且在另一应用程序中调用它。 Visual Studio2019 cannot open source Django创建模型。 Django创建视图 Django创建项目和应用 无Admin权限安装python 嵌入版本和PIP,并安装Django python,Django安装在windows上 一段代码实现RPC DCOM和RPC,两者的认证过程有什么区别?
方差计算,使用类和常规方式
岌岌可危 · 2023-11-08 · via 博客园 - 岌岌可危
import random

def calculate_mean(data):
    return sum(data) / len(data)

def calculate_median(data):

    sorted_data = sorted(data)

    n = len(sorted_data)

    if n % 2 == 0:

        return (sorted_data[n//2 - 1] + sorted_data[n//2]) / 2

    else:

        return sorted_data[n//2]

def calculate_variance(data):

    mean = calculate_mean(data)

    return sum((x - mean) ** 2 for x in data) / len(data)

def calculate_standard_deviation(data):

    variance = calculate_variance(data)

    return variance ** 0.5

class Cal:  # 创建一个人类
    """定义计算类"""
    def __init__(self, data):  # 构造方法
        
        self.data=data
    def run(self):  # 定义跑的方法
        print(self.eye)
    def calculate_mean(self):
        temp=sum(self.data) / len(self.data)
        
        return sum(self.data) / len(self.data)

    def calculate_median(self):
    
        sorted_data = sorted(self.data)
    
        n = len(sorted_data)
    
        if n % 2 == 0:
    
            return (sorted_data[n//2 - 1] + sorted_data[n//2]) / 2
    
        else:
    
            return sorted_data[n//2]
    
    def calculate_variance(self):
    
        mean = calculate_mean(self.data)
    
        return sum((x - mean) ** 2 for x in self.data) / len(self.data)
    
    def calculate_standard_deviation(self):
    
        variance = calculate_variance(self.data)
    
        return variance ** 0.5
        
def main():

    source = input("请选择数据来源: 1.系统自动生成随机数;2.键盘输入一组数据 ")

    if source == '1':

        data = [random.randint(1, 100) for _ in range(11)]

    elif source == '2':

        data = []

        while True:

            try:

                num = input("请输入数字(直接输入回车退出): ")

                if num == '':

                    break

                data.append(float(num))

            except ValueError:

                print("请输入有效数字!")

    else:

        print("输入错误!")

    if data:
        cal1 = Cal(data)  # 创建人类的实例

        mean = calculate_mean(data)

        median = calculate_median(data)

        std_dev = calculate_standard_deviation(data)

        print(f"序列为: {data}, 平均值: {mean:.2f}, 标准差: {std_dev:.2f}, 中位数: {median:.2f}")
        print(f"序列为: {data}, 平均值: {cal1.calculate_mean():.2f}, 标准差: {cal1.calculate_standard_deviation():.2f}, 中位数: {cal1.calculate_median():.2f}")
        #cal1.calculate_mean()
       


if __name__ == "__main__":

    main()