代码之家  ›  专栏  ›  技术社区  ›  Python learner Shaavin

是否可以仅使用try-except语句来避免整数、浮点和特殊字符?

  •  -4
  • Python learner Shaavin  · 技术社区  · 3 年前

    我正在尝试制作一个只允许字母的代码。我知道我们可以用 isalpha() 方法但是,我正在寻找任何其他不同的解决方案,比如“尝试”除了?

    1 回复  |  直到 3 年前
        1
  •  0
  •   azro    3 年前

    这就是重新发明轮子,使用 str.isalpha


    你可以用 assert AssertionError

    from string import ascii_letters
    
    value = None
    while True:
        try:
            value = input("Give a value: ")
            assert all(c in ascii_letters for c in value)
            break
        except AssertionError:
            print("Invalid input, try again")
    
    print("Valid input:", value)
    
    Give a value: aa!
    Invalid input, try again
    Give a value: !!!
    Invalid input, try again
    Give a value: !
    Invalid input, try again
    Give a value: rrTT
    Valid input: rrTT