如何对字符串进行类型检查

How to have a type check for a string

我正在制作一个程序,用户可以在其中输入他们的个人详细信息,例如名字、姓氏和出生日期,这些数据保存在一个单独的文本文件中。我需要进行格式检查以确保用户输入的名字和姓氏是字符串,即中间没有数字。

我使用了 try: except: 来确保输入的重量数据在指定范围内并且不是字符。

valid = False
while not valid:
    try:
        weight = int(input("what is your weight?: "))
        if 50 <= weight <= 100:
            valid = True
        else:
            print("please enter sensible weight")
    except ValueError:
        print("please enter valid weight")

要检查给定字符串是否包含任何数字,我们可以使用:

DIGITS = ['1','2','3','4','5','6','7','8','9','0']
def check_digits(sample_string):
    for character in sample_string:
        if character in DIGITS:
            return False
    return True

请注意,您可以随时更改 DIGITS 列表以包含任何不需要的字符。

不要重新发明轮子,您的 python 版本已经具有此功能:

>>> 'abc'.isalpha()
True
>>> '123'.isalpha()
False
>>> 'ab1c'.isalpha()
False
>>> '123'.isalnum()
True
>>>