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

Python随机食物生成器:复用random.choice结果实现就近搜索

随机食物生成器技术实现方案

核心实现逻辑

你不需要为每个食物选项单独编写if分支:random.choice() 方法会直接返回选中的食物字符串,只要把返回值赋值给独立变量,后续的交互提示、门店搜索逻辑直接调用这个变量即可,变量会自动承载当前随机选中的食物值。

你原有待完善代码存在几个明显问题:

  • 重复使用list作为变量名,既存储食物列表又存储随机选中的结果,还和Python内置的列表类型重名,极易引发逻辑错误
  • if list == list是恒成立的无效判断,完全可以删除
  • 字符串拼接语法不完整,函数没有闭合结构

修正后可运行代码

import random
import requests

def random_food_picker():
    # 食物列表单独命名存储
    food_options = [
        "Crab Rangoon", "Sushi", "Ramen", "Bubble Tea", "Hot Pot", "Ice Cream", "Tostec",
        "Ovinhos", "Mango", "Pineapple", "Pad Thai", "Udon", "Lamb Corma",
        "Rice Beans and Steak with Plaintains and Tostones", "Tacos"
    ]
    # 随机选中结果存入独立变量,后续所有逻辑直接复用该变量
    picked_food = random.choice(food_options)
    print(f"随机抽中的食物是:{picked_food}")
    
    # 直接拼接变量生成交互提示,无需任何分支判断
    user_confirm = input(f"是否需要搜索你所在区域内提供{picked_food}的最近门店?(输入y确认,其他键取消):").strip().lower()
    
    if user_confirm == "y":
        print(f"正在搜索附近售卖{picked_food}的门店...")
        # 谷歌搜索逻辑直接调用picked_food作为关键词即可,无需针对单个食物写适配
        # 下方为搜索逻辑预留位,补充你的谷歌API鉴权、用户位置参数后即可使用
        # search_params = {
        #     "keyword": picked_food,
        #     "location": "传入用户所在位置经纬度/地址",
        #     "rankby": "distance",
        #     "key": "你的谷歌接口密钥"
        # }
        # resp = requests.get("谷歌附近搜索接口地址", params=search_params)
        # 对resp返回的门店结果做解析展示即可
    else:
        print("已取消搜索")

if __name__ == "__main__":
    random_food_picker()

后续扩展注意点

  • 所有依赖随机选中食物的逻辑,都直接使用picked_food变量传参即可,不管随机结果是什么,变量都会自动对应选中值,不需要新增判断分支
  • 调用谷歌附近搜索时,只需要把picked_food作为关键词参数传入,搭配用户位置信息就能返回对应门店结果,不需要为每种食物单独写搜索逻辑

内容的提问来源于stack exchange,提问作者kingslyr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 17:57:15