如何在weather API(Python)中使用条件语句


appid = ''
city = ''
URL = f'https://api.openweathermap.org/data/2.5/weather?q=={city}&appid={appid}'
r = requests.get(URL)
res = r.json()
data = res
def check():
temp = "{0:.2f}".format(data["main"]["temp"])
for item in temp:
if item < 90:
print('hello')

我使用的是OpenWeatherMapapi,我试图做一个条件语句,例如,如果温度<90:打印("你好"(,但控制台给了我一个空的回复。

您的temp变量是一个字符串,因此在比较之前需要将其转换为数字。

除非我弄错了,否则你不需要在字符串上循环(如果我错了,请提供你的data,这样我就可以理解你期望的类型(

编辑:

我用openweathermap数据示例编辑了我的示例。

据我所见;temp";是以数字形式给出的,因此您不需要更改类型。

这很简单,如果你没有得到预期的结果,可能只是与你没有通过你的条件有关。

data_example = {
"id":88319,
"dt":1345284000,
"name":"Benghazi",
"coord":{"lat":32.12,"lon":20.07},
"main":{"temp":85.15,"pressure":1013,"humidity":44,
"temp_min":306,"temp_max":306},
"wind":{"speed":1,"deg":-7},
"weather":[
{"id":520,"main":"rain","description":"light intensity 
shower rain","icon":"09d"},
{"id":500,"main":"rain","description":"light rain","icon":
"10d"},
{"id":701,"main":"mist","description":"mist","icon":"50d"}
],
"clouds":{"all":90},
"rain":{"3h":3}
}
def check():
# temp = "{0:.2f}".format(example_data["main"]["temp"]) # you don't need this
temp = example_data["main"]["temp"]
if temp < 90:
print("temp is below 90", temp)
else:
print("temp is beyond 90", temp)
check()

相关内容

  • 没有找到相关文章

最新更新