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

Python游戏代码y/n输入判定异常及大小写兼容问题求助

问题原因与解决方法

1. 非y/n输入后自动重启的问题

你当前代码中输入非y/n字符触发else分支打印提示后,既没有break也没有continue控制外层循环走向,代码会直接走完当前分支,回到外层游戏大循环的开头,重新要求输入初始石头数量,表现为自动重启游戏。

修复方案是增加一层子循环专门处理y/n输入校验,只有拿到合法输入后才进入后续逻辑,否则一直停留在重试输入阶段,将你原有play_again相关代码替换为如下逻辑即可:

# 输入校验子循环,仅当输入y/n时才跳出
while True:
    play_again = input('Would you like to play again?(y/n) ').lower()
    if play_again in ('y', 'n'):
        break
    print("I don't recognize that character, please select y or n")

# 拿到合法输入后执行对应逻辑
if play_again == 'y': #loop restarts
    os.system('cls') # clear the console
    print('Starting another game...')
    continue 
elif play_again == 'n': #loop is exited
    print('Thank you for playing! You have now exited the game.')
    break

2. 大小写不区分识别y/n的实现

Python字符串内置的lower()方法可以将输入的所有大写字符转为小写,你完整代码中已经用到了input('Would you like to play again?(y/n) ').lower()写法,只要后续判断条件对应小写的'y'和'n',即可实现不区分大小写识别,用户输入Y/y/N/n都能正常匹配逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:24:06