Python循环中如何避免重复打印相同的anime_name文本?
问题解决方法
问题根源
- 当前代码仅读取了接口返回的第一个动漫条目,因此只能输出1部动漫的下载链接
- 你将
anime_name放在了下载链接的循环拼接逻辑中,每生成一条链接都会重复拼接动漫名,导致重复输出
修正逻辑
遍历接口返回的所有动漫条目,每个条目仅输出一次动漫名,再循环输出该条目下所有清晰度的下载链接即可解决问题。
修正后代码
from requests import get res = get("https://subsplease.org/api/?f=latest&tz=canada/central").json() # 遍历所有返回的动漫条目 for anime_info in res.values(): anime_name = anime_info['show'] # 每个动漫名仅打印1次,加斜体区分 print(f"*{anime_name}*") # 遍历当前动漫的所有下载链接 for download_item in anime_info['downloads']: quality = download_item['res'] magnet = download_item['magnet'] print(f"- {quality}: {magnet}") # 不同动漫之间加空行分隔,提升可读性 print()
效果说明
运行后每部动漫的名称仅会输出1次,下方对应列出该动漫所有清晰度的磁力下载链接,不会出现名称重复问题,同时可以获取接口返回的全部动漫资源信息。
内容的提问来源于stack exchange,提问作者Yato
相关产品推荐
相关产品推荐

