python - 如何检查字符串是否严格包含字母和数字

标签 python python-2.7

如何检查字符串是否为 严格包含字母和数字?
跟随还不够?

def containsLettersAndNumber(input):
    if input.isalnum():
        return True
    else:
        return False


isAlnum = containsLettersAndNumber('abc')           # Should return false
isAlnum = containsLettersAndNumber('123')           # Should return false
isAlnum = containsLettersAndNumber('abc123')        # Should return true
isAlnum = containsLettersAndNumber('abc123$#')      # Should return true
请注意它必须包含字母和数字

最佳答案

您可以循环并跟踪您是否找到了一个字母以及是否找到了一个数字:

def containsLetterAndNumber(input):
    has_letter = False
    has_number = False
    for x in input:
        if x.isalpha():
            has_letter = True
        elif x.isnumeric():
            has_number = True
        if has_letter and has_number:
            return True
    return False
或者,一种更pythonic但更慢的方式:
def containsLetterAndNumber(input):
    return any(x.isalpha() for x in input) and any(x.isnumeric() for x in input)

关于python - 如何检查字符串是否严格包含字母和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64862663/

相关文章:

python - 使用python从文本中提取最后一段

python - 在 flask HTML 模板中运行 python 模块

python - 盒中的许多粒子 - 物理模拟

python - 如何截断日期时间对象的时间?

Windows 10 中的 Python PIP 路径

python - Django:用户用户模型未加载

google-app-engine - 在 Google 日历中哪里可以找到 eventId?

python - 复制列中具有特定值的行

python - 当源可能为 None 时,如何执行 Pythonic 同步赋值?

python - Python输入 “-”