是否可以仅使用 try-except 语句来避免整数、浮点数和特殊字符?
Is it possible to avoid integers,floats and special characters using try-except statement only?
我正在尝试制作一个只允许输入字母的代码。我知道我们可以使用 isalpha()
方法来做到这一点。但是,我正在寻找任何其他不同的解决方案,比如 try-except?
那就是重新发明轮子,用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
我正在尝试制作一个只允许输入字母的代码。我知道我们可以使用 isalpha()
方法来做到这一点。但是,我正在寻找任何其他不同的解决方案,比如 try-except?
那就是重新发明轮子,用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