如何在 openweathermap 的变量中查找 "rain"
How to find "rain" in a variable for openweathermap
我正在尝试制作一个简单的程序,它会告诉您今天是否需要给植物浇水(看看今天会不会下雨)。我正在使用 openweathermap api 来这样做。 api 不像温度或湿度那样将雨作为变量包含在内,相反,如果下雨作为天气变量的一部分,它只会显示为“雨”。
当我 运行 我下面的代码时,即使它正在查找的变量包括雨,它也永远不知道正在下雨。我想知道如何找到“rain”这个词,如果它在变量中找到它,则相应地打印一条消息。
在 运行ning 我当前的代码之后,如果我打印 weathervar
:
[{'id': 502, 'main': 'Rain', 'description': 'heavy intensity rain', 'icon': '10n'}]
即使变量包含“rain”,我的代码也认为它不包含。
import requests, json
api_key = "someapikey"
base_url = "http://api.openweathermap.org/data/2.5/weather?"
city_name = ("Brunei")
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
response = requests.get(complete_url)
x = response.json()
if x["cod"] != "404":
y = x["main"]
current_temperature = y["temp"]
weathervar = x["weather"]
else:
print(" City Not Found ")
if 'Rain' in weathervar:
print("You don't need to water your plants today.")
else:
print("You need to water your plants today")
print(weathervar)
因为weathervar
是一个字典列表,你应该检查
if any(item['main'] == 'Rain' for item in weathervar):
尝试使用:
import requests, json
api_key = "someapikey"
base_url = "http://api.openweathermap.org/data/2.5/weather?"
city_name = ("Brunei")
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
response = requests.get(complete_url)
x = response.json()
if x["cod"] != "404":
y = x["main"]
current_temperature = y["temp"]
weathervar = x["weather"][0]
else:
print(" City Not Found ")
if 'Rain' in weathervar.values():
print("You don't need to water your plants today.")
else:
print("You need to water your plants today")
print(weathervar)
首先,您必须将数组转换为适当的字典。然后你可以用 .values()
.
查询字典的值
我正在尝试制作一个简单的程序,它会告诉您今天是否需要给植物浇水(看看今天会不会下雨)。我正在使用 openweathermap api 来这样做。 api 不像温度或湿度那样将雨作为变量包含在内,相反,如果下雨作为天气变量的一部分,它只会显示为“雨”。
当我 运行 我下面的代码时,即使它正在查找的变量包括雨,它也永远不知道正在下雨。我想知道如何找到“rain”这个词,如果它在变量中找到它,则相应地打印一条消息。
在 运行ning 我当前的代码之后,如果我打印 weathervar
:
[{'id': 502, 'main': 'Rain', 'description': 'heavy intensity rain', 'icon': '10n'}]
即使变量包含“rain”,我的代码也认为它不包含。
import requests, json
api_key = "someapikey"
base_url = "http://api.openweathermap.org/data/2.5/weather?"
city_name = ("Brunei")
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
response = requests.get(complete_url)
x = response.json()
if x["cod"] != "404":
y = x["main"]
current_temperature = y["temp"]
weathervar = x["weather"]
else:
print(" City Not Found ")
if 'Rain' in weathervar:
print("You don't need to water your plants today.")
else:
print("You need to water your plants today")
print(weathervar)
因为weathervar
是一个字典列表,你应该检查
if any(item['main'] == 'Rain' for item in weathervar):
尝试使用:
import requests, json
api_key = "someapikey"
base_url = "http://api.openweathermap.org/data/2.5/weather?"
city_name = ("Brunei")
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
response = requests.get(complete_url)
x = response.json()
if x["cod"] != "404":
y = x["main"]
current_temperature = y["temp"]
weathervar = x["weather"][0]
else:
print(" City Not Found ")
if 'Rain' in weathervar.values():
print("You don't need to water your plants today.")
else:
print("You need to water your plants today")
print(weathervar)
首先,您必须将数组转换为适当的字典。然后你可以用 .values()
.