编写一个python自定义函数,该函数接收一个数字列表作为参数,函数需要返回一个包含以下统计信息的列表(总和,平均值),在主程序中调用该函数,并打印返回的统计信息
时间: 2024-10-13 14:11:14 浏览: 471
你可以创建一个名为`calculate_stats`的Python自定义函数,用于计算输入列表的总和和平均值,然后返回这个统计信息。以下是函数的定义以及主程序调用它的示例:
```python
def calculate_stats(number_list):
"""
自定义函数,接受数字列表作为参数,计算总和和平均值,并返回一个包含这两个值的列表
参数:
number_list (list): 包含数字的列表
返回值:
stats (list): 包含总和(第一个元素)和平均值(第二个元素)的列表
"""
total = sum(number_list)
average = total / len(number_list) if number_list else 0 # 如果列表为空,设置平均值为0
return [total, average]
# 主程序调用函数并打印结果
numbers = [1, 2, 3, 4, 5]
stats = calculate_stats(numbers)
print(f"总和: {stats[0]}")
print(f"平均值: {stats[1]}")
相关问题
编写一个Python函数,该函数接收一个整数列表作为参数,并返回列表中所有偶数的和。例如,如果输入列表为[1, 2, 3, 4, 5],则函数应返回6
要编写这样一个函数,我们可以使用Python中的列表推导式和内置函数`sum()`。列表推导式可以用来生成一个仅包含偶数的新列表,然后`sum()`函数可以计算这个新列表中所有元素的总和。下面是一个可能的实现方式:
```python
def sum_of_evens(num_list):
# 使用列表推导式选出所有偶数,并计算它们的和
return sum([num for num in num_list if num % 2 == 0])
# 示例使用
my_list = [1, 2, 3, 4, 5]
result = sum_of_evens(my_list)
print(result) # 输出: 6
```
在这个函数中,`num_list`是传入的整数列表参数。列表推导式`[num for num in num_list if num % 2 == 0]`遍历`num_list`中的每个元素`num`,并检查它是否为偶数(即`num % 2 == 0`)。如果是偶数,就将其包含在新的列表中。然后,`sum()`函数计算这个新列表中所有数字的总和,并返回结果。
2.编写一个Python自定义函数,计算1!+2!+ … +n!(n由键盘输入)
为了编写一个计算阶乘之和的Python函数,我们可以定义一个递归函数来计算每个数的阶乘,然后累加到总和上。下面是一个简单的示例:
```python
def factorial(n):
"""计算一个数的阶乘"""
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
def sum_of_factorials(n):
"""
计算1! + 2! + ... + n!
输入n并计算所有小于等于n的数的阶乘之和
"""
total_sum = 0
for i in range(1, n + 1):
total_sum += factorial(i)
return total_sum
# 获取用户输入的n
n = int(input("请输入一个正整数: "))
result = sum_of_factorials(n)
print(f"1! + 2! + ... + {n}! 的和是: {result}")
# 相关问题:
1. 为什么要使用递归计算阶乘?
2. 这个函数如何处理非整数输入或负数输入?
3. 如果n很大,会不会导致计算时间过长?为什么?
```
阅读全文