首先,我们需要设计几个函数来完成题目要求的功能。我会假设AQI值以某种方式(比如CSV文件)存储,并且每行包含一个日期和对应的AQI值。 ```python # 假设数据文件名为'aqi_data.csv',格式如下: # date,aqi # 2023-01-01,35 # 2023-01-02,68 # ... # 读取文件数据 def get_alldata(filename): data = [] with open(filename, 'r') as file: for line in file: date, aqi = line.strip().split(',') data.append((date, int(aqi))) return data # 根据AQI值评估空气质量 def calc_quality(aqi): if aqi <= 50: return '优' elif aqi <= 100: return '良' elif aqi <= 150: return '轻度污染' elif aqi <= 200: return '中度污染' elif aqi <= 300: return '重度污染' else: return '严重污染' # 查询空气质量为level的天数 def select_quality(data, level): count = sum(1 for _, aqi in data if calc_quality(aqi) == level) return count # 计算AQI值的平均值 def calc_avg(data): aqi_sum = sum(aqi for _, aqi in data) return aqi_sum / len(data) # 主程序 def main(): filename = 'aqi_data.csv' # 假设这是数据文件的名字 data = get_alldata(filename) # 输入要统计的空气质量等级 level_to_count = input("请输入要统计的空气质量等级(优/良/轻度污染/中度污染/重度污染/严重污染):") # 统计该空气质量等级的天数 count = select_quality(data, level_to_count) print(f"空气质量为{level_to_count}的天数:{count}天") # 计算AQI值的平均值 avg_aqi = calc_avg(data) print(f"aqi值的平均值:{avg_aqi:.2f}") # 运行主程序 if __name__ == "__main__": main() ``` 运行上述代码,并假设输入的空气质量等级为"优",如果数据文件中包含197天的"优"空气质量,并且所有AQI值的平均值为55,那么输出将与测试说明中的预期输出一致。 这个示例代码假设了输入数据的格式和文件名称。在实际应用中,你可能需要根据实际的数据格式和文件路径来调整代码。错误处理和用户输入验证在实际应用中也非常重要,但在此示例中为了保持简洁而省略了。 [2024-05-23 09:48:41 | AI写代码神器 | 676点数解答]