我正在创建一个使用while循环的函数来要求用户输入通过条件的密码; min8-15max字符的长度,包括至少一个整数。我很难理解如何正确检查整数的输入。
我的节目:
def enterNewPassword():
while True:
pw = input('Please enter a password :')
for i in pw:
if type(i) == int:
if len(pw) >= 8 and len(pw) <= 15:
break
if int not in pw:
print('Password must contain at least one integer.')
if len(pw) < 8 or len(pw) > 15:
print('Password must be 8 and no more than 15 characters in length.')
return pw
答案 0 :(得分:4)
尝试:
if not any(c.isdigit() for c in pw)
而不是
if int not in pw:
print('Password must contain at least one integer.')
int
是一个类型对象,您需要检查是否存在字符0-9。
答案 1 :(得分:0)
您可以使用正则表达式,例如:
import re
password = "hello"
matches = re.findall('[0-9]', password)
if len(matches) < 1:
print "Password must contain at least one integer"