这段代码是一个简单的天气查询工具,使用了OpenWeatherMap的免费API来获取天气预报数据,并将结果以格式化字符串的形式输出。
主要步骤如下:
Current_Date
函数使用datetime
模块获取当前的年、月、日,并将它们格式化为字符串,返回形如”年-月-日”的日期字符串。Get_Weather
函数用于获取地区的天气预报。用户需要输入一个英文地区名称,然后使用OpenWeatherMap API查询该地区的天气信息。API的URL中包含了用户输入的地区名称,API Key以及其他参数,其中lang=zh_cn
表示返回中文描述。函数从API的JSON响应数据中提取出温度、地区名称和天气状况描述,然后使用格式化字符串构建返回的天气预报信息。- 在主程序中,调用
Get_Weather
函数获取天气预报数据,并输出到控制台。
请注意,这段代码使用了OpenWeatherMap的免费API,需要替换其中的API Key,且免费版有一定的请求限制。另外,API的响应数据结构可能会有变化,需要根据具体情况来解析JSON数据。
import requests # 导入 requests 库,用于发送 HTTP 请求
import json # 导入 json 库,用于处理 JSON 数据
from datetime import datetime # 从 datetime 模块导入 datetime 类
# 获取当前时间
def Current_Date():
current_time = datetime.now()
# 提取年、月和日
year = current_time.year
month = current_time.month
day = current_time.day
return '%s年-%s月-%s日' % (year, month, day)
# 获取地区天气预报
def Get_Weather():
location = input("请输入需要查询天气地区的英文名称: ") # 用户输入需要查询的地区名称
# 天气预报免费版接口api
url = "http://api.openweathermap.org/data/2.5/weather?q=%s&lang=zh_cn&appid=12b2817fbec86915a6e9b4dbbd3d9036" % location
print(url)
# 构造天气预报 API 的 URL,其中 %s 会被用户输入的地区名称替代
data = requests.get(url).json() # 发送 GET 请求并将响应转换为 JSON 格式的数据
temperature = data["main"]["temp"] # 从 JSON 数据中提取出温度信息
city = data["name"] # 从 JSON 数据中提取出地区名称
description = data["weather"][0]["description"] # 从 JSON 数据中提取出天气状况描述
# '%s,%s的天气温度是%s摄氏度,天气状况是%s' 是一个格式化字符串,其中 %s 是占位符。这些占位符会被后面的参数依次替换,生成最终的字符串。
return '%s,%s的天气温度是%s摄氏度,天气状况是%s' % (Current_Date(), city, temperature, description)
return_data = Get_Weather() # 调用函数获取天气预报的返回数据
print(return_data) # 输出天气预报的返回数据
评论前必须登录!
注册