编写一个简单的Scala函数,该函数接受一个整数列表,返回这个列表的平均值
时间: 2024-09-09 10:09:30 浏览: 112
在Scala中,你可以通过以下方式编写一个函数来计算整数列表的平均值:
```scala
def average(intList: List[Int]): Double = {
if (intList.isEmpty) 0.0 // 避免除以零的情况
else intList.sum.toDouble / intList.size
}
```
这个函数`average`接受一个类型为`List[Int]`的参数`intList`,它表示一个整数列表。函数体中首先检查列表是否为空,如果为空,为了避免除以零的情况,直接返回0.0。如果不为空,则使用`sum`方法计算列表中所有整数的和,并将结果转换为`Double`类型,然后除以列表的大小(`size`),得到平均值。
以下是如何使用这个函数的例子:
```scala
val numbers = List(1, 2, 3, 4, 5)
val result = average(numbers)
println(s"The average is: $result") // 输出: The average is: 3.0
```
相关问题
编写一个函数find-average,该函数接受一整数列表参数numbers,并计算并返回列表中所有数字平均值
好的,下面是Python代码实现:
```python
def find_average(numbers):
total = sum(numbers)
count = len(numbers)
if count == 0:
return 0
else:
return total / count
```
函数接受一个整数列表参数numbers,使用`sum()`函数计算列表中所有数字的总和,使用`len()`函数计算列表中数字的个数,如果列表为空,则返回0。最后返回总和除以数字个数的结果,即平均值。
编写一个函数,接收一个包含若干整数的列表lst,要求返回一个列表,列表中包含原列表中大于或者等于所有整数平均值的整数。用Python
可以使用以下代码实现:
```python
def greater_than_avg(lst):
avg = sum(lst) / len(lst)
return [x for x in lst if x >= avg]
```
函数`greater_than_avg`接收一个列表`lst`,首先计算列表中所有整数的平均值`avg`,然后使用列表推导式生成一个新的列表,其中包含所有大于或等于平均值的整数。最后返回这个新列表。
阅读全文