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

交互式游戏玩家分配程序问题求助:范围限制与变量错误

修复玩家分配功能的代码问题

原代码核心问题

  • 玩家数量无范围校验:输入小于2或大于5时没有拦截,直接进入后续逻辑
  • 变量错误:
    • 尝试将未定义的players添加到列表,实际应使用输入的姓名变量
    • 打印时写错变量名players_lists,正确应为players_list
  • 循环逻辑僵化:手动写死两次输入,无法根据设定的玩家数量动态生成输入提示

修正后的代码

# 初始化玩家列表
players_list = []

# 获取合法的玩家数量(限制在2-5人)
while True:
    max_players_input = input("Hello how many players are in the game?\n")
    # 先校验输入是否为有效数字
    if not max_players_input.isdigit():
        print("请输入有效的数字")
        continue
    max_players = int(max_players_input)
    if 2 <= max_players <= 5:
        break
    print("insert number between 2 and 5")

# 依次提示每位玩家输入姓名
for player_index in range(max_players):
    player_name = input(f"Player {player_index + 1}, Please insert your name\n")
    players_list.append(player_name)
    print(f"players so far : {players_list}")

代码改进说明

  1. 玩家数量校验:用while True循环强制输入合法数值,不符合要求时重复提示,确保玩家数量在2-5之间
  2. 变量修正:使用player_name存储输入的姓名,避免未定义变量错误,同时修正列表名称拼写问题
  3. 动态输入逻辑:用for循环根据设定的玩家数量,依次提示对应序号的玩家输入,自动适配2-5人的不同场景
  4. 输出优化:每次添加玩家后实时显示当前已加入的所有玩家列表,符合交互式需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:50:33