如何在RPG游戏角色命名功能中实现空输入时重复请求用户输入?
解决RPG角色命名空输入的问题
嘿,我完全懂你遇到的小麻烦啦!当玩家直接按回车没输入任何内容时,角色就没了名字,这确实有点破坏游戏体验~作为编程新手,咱们用一个简单的循环就能轻松搞定——让程序一直请求输入,直到玩家给出有效的名字为止。
核心思路
咱们可以用while循环来实现“重复请求输入”的逻辑:
- 先进入一个无限循环,每次让玩家输入名字
- 检查输入的内容是不是空的(或者只有空格)
- 如果是空的,就提示玩家重新输入;如果有有效内容,就跳出循环,继续后面的欢迎流程
修改后的完整代码
import time # 别忘了导入time模块,不然time.sleep()会报错哦 # 用while循环持续获取输入,直到得到有效名字 while True: print('\n > what should your hero be named?\n ') name = input('> ') # strip()会去掉输入内容前后的空格/回车等空白字符,判断处理后是否为空 if name.strip(): # 输入有效,跳出循环 break # 输入为空,提示玩家重新输入 print('\n > Oops! You didn\'t enter a name. Please give your hero a name!\n ') time.sleep(1) print(f'\n > welcome mighty hero! you shall be named: {name} !!!\n ') print(' > a fine choice') print('\n')
关键部分解释
while True:这是一个无限循环,除非遇到break语句,否则会一直重复执行循环里的代码name.strip():这个方法能把输入字符串前后的空白字符(比如空格、回车)都去掉,如果处理后的字符串不为空,就说明玩家输入了有效的名字- 当玩家输入为空时,程序会打印提示信息,然后回到循环开头,再次请求输入,直到玩家输入了名字为止
这样修改后,玩家就没法直接按回车跳过命名啦,必须输入一个有效的名字才能继续游戏~
内容的提问来源于stack exchange,提问作者some_user_3




