📜  Python-测验| Python列表测验|问题 18(1)

📅  最后修改于: 2023-12-03 15:04:19.322000             🧑  作者: Mango

Python-测验 | Python列表测验 | 问题 18

欢迎参加 Python-测验的问题 18!本测验将检验你对 Python 列表的理解和运用。

问题描述

问题 18 要求你编写一个函数 average_odd_numbers,该函数将接收一个整数列表作为参数,并返回列表中奇数的平均值。

示例

输入:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

输出:

列表中的奇数为: [1, 3, 5, 7, 9]
奇数的平均值为: 5.0
编码要求

你需要完成以下代码:

def average_odd_numbers(numbers):
    # TODO: 实现函数逻辑

# 测试代码
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(average_odd_numbers(numbers))
约束条件
  • 输入列表 numbers 中的元素个数不超过 $10^4$。
  • 输入列表 numbers 中的整数可以重复。
提示

你可以使用循环遍历列表,并使用条件判断筛选出奇数。计算平均值时,你可以使用内置函数 sum()len()

解题思路

要解决这个问题,你需要编写一个函数 average_odd_numbers,该函数将接收一个整数列表作为参数。首先,你可以创建一个空列表 odd_numbers,用于存储列表中的奇数。

然后,你可以使用循环遍历输入列表 numbers,对每个元素进行判断。如果元素是奇数,你可以将其添加到 odd_numbers 列表中。最后,你可以使用内置函数 sum() 计算 odd_numbers 列表中所有元素的和,以及内置函数 len() 计算 odd_numbers 列表的长度,并通过这两个值计算奇数的平均值。

最后,你需要在函数 average_odd_numbers 返回奇数的平均值。

完成代码后,你可以进行测试,传入一个整数列表,并打印函数返回的结果。

完整代码
def average_odd_numbers(numbers):
    odd_numbers = []  # 存储奇数的列表
    for num in numbers:
        if num % 2 == 1:  # 判断是否为奇数
            odd_numbers.append(num)
    
    average = sum(odd_numbers) / len(odd_numbers)  # 计算奇数的平均值
    return average

# 测试代码
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(average_odd_numbers(numbers))

运行上述代码,你将获得如下输出:

列表中的奇数为: [1, 3, 5, 7, 9]
奇数的平均值为: 5.0

恭喜!你已经成功解决了问题 18,并且完成了 Python 列表操作的测验。