Python 自定义函数只输出第一行结果,如何解决?
python 自定义函数只输出第一行结果
该函数旨在从给定的 url 中提取年份并拼接成新的 url,以获取特定年份特定季度的 url 列表。然而,在调用函数时,它只输出第一行结果。
问题分析
问题在于嵌套的 for 循环中缺少必要的列表操作。具体来说,在过滤年份并获取特定季度的 for 循环中,没有将拼接的 url 添加到列表中。
解决方案
要修复这个问题,需要在拼接 url 后将填充的 url 添加到列表中。以下是修改后的代码:
def start_url(url): # 其余代码保持不变 urls = list() # 初始化空列表来存储拼接的 URL for n in nian: if "'" in n or "-" in n: # 过滤年份中包含单引号或连字符的 continue jidu = range(1, 5) # 1~4 四个季度 for j in jidu: urls.append(url + str(n) + "&season=" + str(j)) # 将拼接的 URL 添加到列表中 return urls # 主程序 url = "http://quotes.*****.***.com/trade/lsjysj_******.html?year=" s = start_url(url) print(s)
通过将填充的 url 添加到列表,该函数将输出所有预期结果。
以上就是Python 自定义函数只输出第一行结果,如何解决?的详细内容,更多请关注其它相关文章!