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

如何匹配用户输入与列表中的玩家人数区间以筛选游戏?

问题修正方案

错误根源

原代码的if判断逻辑完全错误:你把整个玩家区间列表和输入的玩家数字做相等比较(game[2] == int(players)),列表和整数类型不同,永远不可能匹配,所以输入3时没有任何输出。

修正后的代码

games = [
    ['Game 1' , 'short' , list(range(2,6))],
    ['Game 2' , 'short' , list(range(2,7))],
    ['Game 3' , 'long' , list(range(5,10))]
]

players = input('players?\n\n')
# 先转换为整数,避免后续重复转换或类型错误
player_count = int(players)
options = []

for game in games:
    # 判断输入的玩家数是否在当前游戏的人数区间列表中
    if player_count in game[2]:
        options.append(game[0])

# 循环结束后统一输出所有符合条件的游戏
print(options)

关键修改点

  • 提前将输入的players转为整数player_count,简化后续逻辑并避免类型错误
  • 将判断条件从game[2] == int(players)改为player_count in game[2],核心逻辑变为检查数字是否存在于区间列表内
  • 把print(options)移到循环外,避免每次添加游戏都打印一次,最终一次性输出所有符合条件的结果

当输入3时,代码会输出['Game 1', 'Game 2'],完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:25:56