首页 > 解决方案 > 有效字符验证

问题描述

我已经尝试修复此代码,但我不明白它为什么会正常工作,它是为了验证一个数字是否只有 4 个字符,并且没有重复。

    ValidChr =("0123456789",)
    for i in range(num):
        if num.count(i)!= 1:
            return "False"
        if i != ValidChr:
            return "False"
    if length(num) != 4:
        return "False"
    return "True"
print (Validate(1435))

标签: pythonvalidation

解决方案


这将返回正确的结果:

def Validate(num):
    ValidChr =('0','1','2','3','4','5','6','7','8','9','0')
    for i in enumerate(num):
        if i[1] not in ValidChr:
            return "False"
    if len(set(str(num))) < len(str(num)) or len(num) != 4:
            return "False"
    return "True"
print(Validate("1435"))
print(Validate("1111"))
print(Validate("12345"))

输出:

True
False
False

推荐阅读