处理缺失值的平均函数修正

132、假设你有一个调查结果的数据集,受访者可以选择提供他们的年龄。缺失值会被读取为 None。以下是一个计算该列表中平均年龄的函数:从 typing 模块导入 List 类型,定义函数 average,它接受一个浮点数列表作为输入并返回这些数字的平均值。列表中的一些元素可能是 None,这些元素在计算平均值时不被计入。示例调用 average([20, 30]) 应返回 25.0,average([None, 20, 30]) 也应返回 25.0。但该函数的实际运行结果不符合预期,例如调用 average([None, 30, 20]) 返回了 16.666666666666668。a. 使用 unittest 为 average 函数编写一组测试,测试应涵盖包含和不包含缺失值的列表情况。b. 修改 average 函数,使其能正确处理缺失值并通过所有测试。

a. 以下是使用 unittest average 函数编写的测试代码:

import unittest
import test_average

class TestAverage(unittest.TestCase):
    def test_no_missing_values(self):
        result = test_average.average([20, 30])
        self.assertEqual(result, 25.0)

    def test_with_missing_values(self):
        result = test_average.average([None, 20, 30])
        self.assertEqual(result, 25.0)

if __name__ == '__main__':
    unittest.main()

b. 修改后的 average 函数:

from typing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值