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

游戏开发技术求助:实现玩家名称确认循环输入功能

搞定玩家名称确认的循环输入功能

嘿,我来帮你解决这个玩家名字确认的循环问题!先看看你现有代码里的两个小问题:

  • 条件判断if name == 'yes' or 'Yes':写法不对,这种逻辑会永远为真,因为'Yes'本身是布尔真,不管用户输入啥都会执行确认后的代码
  • 没有循环结构,所以没法让用户重新输入名字

下面是修改后的完整代码,完美实现你要的功能:

input("Disclaimer: To be able to continue through text press Enter")

# 用无限循环来实现重复请求输入,直到玩家确认名字
while True:
    player_name = input("What's your name? ")
    # 把用户输入转成小写,这样不管输入Yes/YEs/YES都能匹配
    confirm = input(f'Do you want to keep the name {player_name}? (No or Yes?)').lower()
    
    if confirm == 'yes':
        print(f'Ok then {player_name}, Enjoy the game!!!')
        break  # 确认成功,跳出循环
    else:
        print("Got it, let's try again!")  # 提示重新输入

# 循环结束后,进入游戏后续流程
input(f'Welcome {player_name}...')

代码说明:

  • while True:创建一个无限循环,直到我们用break主动跳出
  • confirm.lower():把用户的确认输入统一转成小写,避免大小写敏感的问题,用户输入任何形式的"yes"都能被识别
  • break:当玩家确认名字后,跳出循环,继续执行后续的游戏欢迎逻辑
  • 若玩家输入"no"或者其他内容,循环会重新执行,让玩家再次输入名字

这样就能实现你要的:玩家输入名字后,若不确认就重新请求输入,直到确认为止啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:13:25