You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用BoredAPI筛选指定价格区间的活动并输出指定字段

问题修复方案

问题根因

  • 你在循环内部直接覆盖了函数入参minprice和maxprice的原始值,导致你传入的价格区间阈值丢失,无法完成过滤
  • 没有增加价格区间的判断逻辑,所有请求返回的结果无论是否符合要求都被直接输出

修复后的代码

如果你需要保留循环10次本地筛选的逻辑,可使用以下代码:

import requests
import json

def fun(minprice,maxprice):
    match_count = 0
    for i in range(0,10):
        response= requests.get("http://www.boredapi.com/api/activity/")
        content_dict=json.loads(response.content)
        # 直接构造需要的字段,无需逐个删除无关字段
        filter_result = {
            "activity": content_dict["activity"],
            "type": content_dict["type"],
            "price": content_dict["price"]
        }
        # 新增价格区间判断逻辑
        if minprice <= filter_result["price"] <= maxprice:
            print(filter_result)
            match_count += 1
    if match_count == 0:
        print("10次调用未找到符合价格区间的活动,可增加调用次数重试")

fun(0,0.1)

额外优化方案

你使用的BoredAPI本身原生支持价格区间查询参数,无需本地循环筛选,直接在请求时携带参数即可一次拿到符合要求的结果,运行效率更高:

import requests
import json

def fun(minprice,maxprice):
    response= requests.get(
        "http://www.boredapi.com/api/activity/",
        params={"minprice": minprice, "maxprice": maxprice}
    )
    content_dict=json.loads(response.content)
    if "error" not in content_dict:
        filter_result = {
            "activity": content_dict["activity"],
            "type": content_dict["type"],
            "price": content_dict["price"]
        }
        print(filter_result)
    else:
        print("没有符合条件的活动")

fun(0,0.1)

内容的提问来源于stack exchange,提问作者Jose Antonio Piedehierro Arias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:00