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