[英]import an argument from a function as a variable to another function
[英]Use variable from function that takes argument in another function
所以我正在制作这个天气应用程序,因为天气数据的 API 只需要纬度和经度(afaik)我正在使用另一个 API 按城市名称获取它们。 所以GetGeo
获取城市名称并返回纬度和经度,然后我需要在 GetWeather 函数中使用它,问题是我不知道如何在这个函数中访问它们,我找到的唯一方法是 lat, lon = GetGeo()
但是这不起作用,因为 GetGeo 正在接受我从输入字段传入的参数。 我知道这可能不是最好的方法,但我是一个初学者,我已经在没有单独功能的情况下完成了这项工作,但我喜欢挑战自己并希望将所有功能分开:)
def GetGeo(cityName):
locationKey = 'xxx'
locationUrl = "https://eu1.locationiq.com/v1/search.php?key=" + locationKey + '&q=' + cityName + '&format=json'
locationDataReq = requests.get(locationUrl)
locationData = locationDataReq.json()
lat = locationData[0]['lat']
lon = locationData[0]['lon']
return lat, lon
def GetWeather():
lat, lon = GetGeo()
darkSkyKey = 'xxx'
darkSkyUrl = "https://api.darksky.net/forecast/" + darkSkyKey + "/" + lat + "," + lon + "?units=si"
darkSkyDataReq = requests.get(darkSkyUrl)
darkSkyData = darkSkyDataReq.json()
label["text"] = darkSkyData
print(darkSkyData)
怎么样:
def GetGeo(cityName):
locationKey = 'xxx'
locationUrl = "https://eu1.locationiq.com/v1/search.php?key=" + locationKey + '&q=' + cityName + '&format=json'
locationDataReq = requests.get(locationUrl)
locationData = locationDataReq.json()
lat = locationData[0]['lat']
lon = locationData[0]['lon']
return lat, lon
def GetWeather(cityName):
lat, lon = GetGeo(cityName)
darkSkyKey = 'xxx'
darkSkyUrl = "https://api.darksky.net/forecast/" + darkSkyKey + "/" + lat + "," + lon + "?units=si"
darkSkyDataReq = requests.get(darkSkyUrl)
darkSkyData = darkSkyDataReq.json()
label["text"] = darkSkyData
print(darkSkyData)
qCity=input('please type city: ')
GetWeather(qCity)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.