我撰寫了以下代碼來根據用戶選擇創建一個 url,
def create_parameter_url(weather_data):
list_parameters = str(input('Would you like to see available parameters? y/n \n>>>'))
for i in range(len(weather_data['resource'])):
if list_parameters == 'y':
print(i 1 , ":" , weather_data['resource'][i]['title'] , weather_data['resource'][i]['summary'])
choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
parameter_url = first_url_no_json choose_parameter
return parameter_url
它作業正常,我得到了我想要的東西(它為用戶列出了一些選擇),但是當我嘗試添加 elif 時,如果用戶選擇否,它只會列印一行,
def create_parameter_url(weather_data):
list_parameters = str(input('Would you like to see available parameters? y/n \n>>>'))
for i in range(len(weather_data['resource'])):
if list_parameters == 'y':
print(i 1 , ":" , weather_data['resource'][i]['title'] , weather_data['resource'][i]['summary'])
choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
elif list_parameters == 'n':
choose_parameter = str(input('\nEnter the index of a parameter (integer): ))
parameter_url = first_url_no_json choose_parameter
return parameter_url
即,如果用戶對list_parameters 的回答是否定的,我只想在if 陳述句之后不列印!我怎樣才能做到這一點?天氣資料是從 url 讀取 json 檔案的結果,這里是代碼
def json_from_url(requested_url):
with urllib.request.urlopen(requested_url) as url:
weather_data = js.load(url)
return weather_data
requested_url = 'https://opendata-download-metobs.smhi.se/api/version/1.0/parameter.json'
weather_data = json_from_url(requested_url)
uj5u.com熱心網友回復:
您需要移動,if以便它控制for回圈:
def create_parameter_url(weather_data):
list_parameters = str(input('Would you like to see available parameters? y/n \n>>>'))
if list_parameters == 'y':
for i in range(len(weather_data['resource'])):
print(i 1 , ":" , weather_data['resource'][i]['title'] , weather_data['resource'][i]['summary'])
choose_parameter = str(input('\nEnter the index of a parameter (integer): \n>>>'))
parameter_url = first_url_no_json choose_parameter
return parameter_url
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/517823.html
