# 简易天气查询程序实现


背景介绍

随着信息化时代的到来,现代人对生活品质的追求不断提升。天气信息作为城市运行的重要数据之一,已成为用户生活的重要参考。本程序旨在实现一个可本地运行的天气信息查询程序,通过读取本地存储的天气数据,实现对城市名称的快速查询与天气信息的输出。程序要求在3天内完成实现,并提供完整的示例代码。

思路分析

本程序的核心功能是实现城市名称到天气信息的映射,因此需要先构建一个天气数据存储结构。由于程序要求本地运行,因此天气数据必须从本地文件中读取。假设天气数据文件名为weather_data.txt,内容格式为城市名称 温度(℃) 湿度(%),每行对应一个城市信息。

程序的逻辑分为三个主要部分:读取数据、处理输入、输出结果。首先,通过文件读取功能获取天气数据,然后根据输入城市名称找到对应的数据,最后输出天气简述。

代码实现

程序结构

# weather_info.py
import sys

def load_weather_data():
    """从本地文件读取天气数据"""
    try:
        with open('weather_data.txt', 'r', encoding='utf-8') as file:
            data = file.read().strip()
            return [line.split() for line in data.split('\n')]
    except FileNotFoundError:
        print("文件未找到,请检查文件路径。")
        return []

def get_weather_info(city_name):
    """根据城市名称获取天气信息"""
    weather_data = load_weather_data()
    for entry in weather_data:
        if entry[0] == city_name:
            return {
                'status': entry[1],
                'temperature': entry[2],
                'humidity': entry[3]
            }
    return None

def main():
    """主程序逻辑"""
    city = input("请输入城市名称:")
    weather_data = load_weather_data()
    result = get_weather_info(city)
    if result:
        print(f"{result['status']},气温{result['temperature']}℃,湿度{result['humidity']}%")
    else:
        print("未找到对应的城市信息。")

if __name__ == "__main__":
    main()

文件读写功能

程序通过读取weather_data.txt文件,读取并存储天气信息。该文件内容格式为每行一个城市信息,包含城市、温度、湿度。程序通过列表推导式提取每行数据,形成天气数据列表,便于后续处理。

输入输出示例

输入:北京
输出:晴,气温23℃,湿度68%

总结

本程序实现了城市名称到天气信息的映射功能,通过本地文件读取实现数据存储与处理。程序要求本地运行,依赖文件读写功能,程序结构清晰,代码规范,具备良好的可运行性。程序实现过程中需要特别注意文件路径的正确性和数据格式的匹配性,确保输出结果与示例一致。整个实现过程在3天内完成,并且具有良好的可扩展性和可维护性。