【问题标题】:How to have a type check for a string [duplicate]如何对字符串进行类型检查[重复]
【发布时间】:2015-03-31 13:01:11
【问题描述】:

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

我使用了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")

【问题讨论】:

  • 您对此有何尝试?

标签: python string format


【解决方案1】:

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

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 列表以包含任何不需要的字符。

【讨论】:

  • 您也可以始终使用isalpha() 方法,但使用该方法 id 的一个缺点是,如果您以后想包含更多不需要的符号,它会带来灵活性,
【解决方案2】:

不要重新发明轮子,你的 python 版本已经有这个功能了:

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

【讨论】:

    猜你喜欢
    • 2019-11-25
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2017-03-10
    相关资源
    最近更新 更多