Python 自定义函数只输出第一行结果,如何解决?

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 自定义函数只输出第一行结果,如何解决?的详细内容,更多请关注其它相关文章!