def isValidPassword(pw):
SpecialSymbol = ["@", "#", "$", " ", "&", "%"]
val = True
if len(pw) < 10:
print("enter at least 10 characters")
val = False
if not any(char.isdigit(3) for char in pw):
print("enter at least 3 digit numbers")
val = False
if not any(char.isupper() for char in pw):
print("enter at least 1 uppercase letter")
val = False
if not any(char.islower() for char in pw):
print("enter at least 1 lowercase letter")
val = False
if not any(char in SpecialSymbol for char in pw):
print("enter at least 1 special character")
val = False
if val:
return val
if (isValidPassword(pw)):
print(True)
else:
print(False)
print(isValidPassword("1234rewq"))
它返回[TypeError:str.isdigit()不接受任何参数(给定1)],我不知道为什么 抱歉,我刚开始学习,参考了一些我能找到的资料,但我真的不知道我在做什么
在函数
isdigit()
上使用sum
而不是any()
试试这个:
就像返回的错误试图告诉您的一样,
isdigit()
方法不接受任何参数。正确的使用方法是char.isdigit()
,该方法将检查您的“char”是否为数字,如果为True
,则返回False
。但是在您的例子中,您提供了一个整数3作为该方法的参数,而该方法不需要这样做你可以试试@user1740577的建议
相关问题 更多 >
编程相关推荐