如何用Python验证用户输入的长度?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (475)

我有一些密码:

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!")
提问于
用户回答回答于
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循环之外的任何变量 代码的问题是:

  1. 你的while循环是在调用return语句之后,所以它是有效渲染的静音。
  2. 你的When循环是无限的-它不会给用户一个重试的机会
用户回答回答于

使用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

扫码关注云+社区

领取腾讯云代金券