作者:tuigq | 来源:互联网 | 2023-09-17 20:50
试图制作一个简单的游戏,并希望防止玩家从输入中输入空字符串或空白名称。
我在空格列表中尝试了几种组合。
####what's in a name
question1="Hello stranger. What's your name? Please enter it below.\n"
for character in question1:
sys.stdout.write(character)
sys.stdout.flush()
time.sleep(0.10)
player_name=input("==> ") # where you enter your name for the game
spaces=[None,'',' '," ",' '," ","",""""""]
while input in spaces:
print("#! HEY ____ YOU GOT A NAME RIGHT ? TYPE IT IN ... !#")
player_name = input("==> ")
else:
myPlayer.name=player_name
在代码编辑器或终端中运行游戏时,我可以使用上述代码使用空白名称或空格名称。
while循环不正确吗?
使用正则表达式(如果您接受'None'作为输入,则可以删除 player_name!='None'条件):-
import re
regex = r'(.*?)\w(.*?)'
player_name=input("==> ")
while (True):
if player_name != 'None' and (re.match(regex,player_name)):
myPlayer.name = player_name
break
else:
print("#! HEY ____ YOU GOT A NAME RIGHT ? TYPE IT IN ... !#")
player_name = input("==> ")