【问题标题】:Repeating until done重复直到完成
【发布时间】:2020-06-17 12:04:05
【问题描述】:

所以我得到了这个代码,我想让它自己重复,直到用户让他的用户名不以符号或数字开头。

  name=name.capitalize()
    print(name)
    surname= input("surname")
    surname=surname.capitalize()
    print(surname)
    password= input("password")
    username= input("username")
    first_char = username[0]
    if first_char.isalpha():
        print('done')
    else: print('username must start with a letter')

【问题讨论】:

  • 您可以使用while 循环。

标签: python repeat goto


【解决方案1】:

我还没有测试过这段代码,但你似乎只需要一个简单的 while 循环,如下所示:

surname = input("surname")
while not surname[0].isalpha():
    print("surname must start with a letter")
    surname = input("surname")

【讨论】:

    【解决方案2】:

    如果您使用的是 python 3.8,则可以使用 := 运算符来编写此代码:

    while not (username := input("username: "))[0].isalpha():
        print('username must start with a letter')
    # do stuff
    

    否则你的选择将是:

    (a) 重复一行代码

    username = input("username: ")
    while not username[0].isalpha():
        print('username must start with a letter')
        username = input("username: ")
    # do stuff
    

    或 (b) 使用break 的无限外观:

    while True:
        username = input("username: ")
        if username[0].isalpha():
            break
        print('username must start with a letter')
    # do stuff
    

    【讨论】:

      【解决方案3】:

      你很接近:

      name = input("Name:").capitalize()
      print(name)
      surname = input("Surname:").capitalize()
      password = input("Password:")
      username = input("Username:")
      while not username[0].isalpha():
      print('Done')
      

      替代方案:

      name, surname, password, username = input("Name:").capitalize(), input('Surname:').capitalize(), input('Password'), input('Username')
      while not username[0].isalpha():
              print('Username must start with a letter')
      print('Done')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-06
        • 2013-08-31
        • 1970-01-01
        • 2016-11-01
        • 2020-11-21
        • 2020-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多