咨询switchPlayer函数代码正确性:实现X/O玩家切换功能
你的代码不符合需求,存在明显问题
问题点:
- 核心返回值错误:当输入是
"X"或"x"时,你返回的是原参数curr_player,而不是需求要求的"O";输入"O"或"o"时同理,返回的是原参数而非"X",这完全违背了函数的核心功能。 - 无边界处理:如果输入既不是X/x也不是O/o的内容,函数会默认返回
None,可能导致后续调用出错。 - 若需求没有要求打印提示信息,代码中的
print语句属于多余输出。
修正后的代码:
def switchPlayer(curr_player): # 统一转大写,简化判断逻辑 upper_player = curr_player.upper() if upper_player == "X": return "O" elif upper_player == "O": return "X" else: # 处理非法输入,可根据需求选择返回原值或抛出异常 return curr_player # 或者改为 raise ValueError("Invalid player input") # 测试用例 print(switchPlayer("X")) # 输出 O print(switchPlayer("o")) # 输出 X
内容的提问来源于stack exchange,提问作者newbie player
相关产品推荐
相关产品推荐

