我有一些代码:
def GetPlayerName():
print()
PlayerName = input('Please enter your name: ')
print()
return PlayerName
如果他们输入一个长度超过一个字符的名字,我怎么能继续询问玩家的名字,并告诉他们如果他们将该字段留空,他们必须输入一个有效的名字?
我试过
def GetPlayerName():
print()
PlayerName = input('Please enter your name: ')
print()
return PlayerName
while len(PlayerName) < 1:
print("You must enter a name!")
但未成功。
答案 0 :(得分:3)
使用while循环重复获取input
:
def get_player_name():
print()
player_name = ""
while len(player_name) <= 1:
player_name = input('Please enter your name: ')
print()
return player_name
您当前使用它的方式是,使用while
语句仅打印错误消息。
PS:我已将您的变量名等转换为small_caps_format,因为这是PEP recommends。
答案 1 :(得分:2)
def GetPlayerName():
print()
while True:
PlayerName = input('Please enter your name: ')
if len(PlayerName) > 1:
break
print("Your name is too short! :c")
print()
return PlayerName
其中一个解决方案,并不需要while循环之外的任何变量。如@jme所述,使用此解决方案可以轻松打印错误消息。您的代码存在的问题是:
return
语句被调用之后,因此它被有效地呈现为静音。