欢迎访问宙启技术站
智能推送

使用Haskell编写一个函数,计算列表中每个元素的平均值。

发布时间:2023-12-10 01:15:31

下面是使用 Haskell 编写的函数来计算列表中每个元素的平均值:

-- 导入 Data.List 模块以使用 sum 和 length 函数
import Data.List (sum, length)

-- 计算列表中每个元素的平均值
average :: Fractional a => [a] -> a
average xs = sum xs / fromIntegral (length xs)

-- 使用例子
main :: IO ()
main = do
  let list1 = [1, 2, 3, 4, 5]
      list2 = [10, 20, 30, 40]
  putStrLn $ "List 1 平均值: " ++ show (average list1)
  putStrLn $ "List 2 平均值: " ++ show (average list2)

在上面的代码中,我们定义了一个名为 average 的函数,它接受一个类型为 Fractional 的列表作为参数,并返回平均值。我们使用 sum 函数来计算列表中所有元素的总和,然后使用 length 函数来获取列表的长度,并将总和除以长度得到平均值。

main 函数中,我们使用了两个例子列表 list1list2,并使用 putStrLn 函数打印每个列表的平均值。结果输出如下:

List 1 平均值: 3.0
List 2 平均值: 25.0

请注意,我们使用 show 函数将计算得到的平均值转换为字符串以便输出。另外,我们需要使用 fromIntegral 函数将列表长度转换为 Fractional 类型以进行除法运算。