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

推荐订阅源

博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
美团技术团队
The Cloudflare Blog
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
F
Fortinet All Blogs
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
小众软件
小众软件
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队

博客园 - 岌岌可危

免费的打印管理软件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()