【发布时间】:2016-03-25 02:31:55
【问题描述】:
我有我的代码,我几乎完成了它只是如果它有一个符号我必须让程序说无效密码。 . . .
password = input("Enter password to test: ")
caps = sum(1 for c in password if c.isupper())
lower = sum(1 for c in password if c.islower())
nums = sum(1 for c in password if c.isnumeric())
r = [caps, lower, nums]
if len(password) < 8:
if caps >= 1:
if lower >= 1:
if nums >= 1:
print("Valid Passeord")
elif nums < 1:
print("Invalid password")
elif lower < 1:
print("Invalid password")
elif caps < 1:
print("Invalid password")
如果密码无效,我将如何让它重新运行?
password = input("Enter password to test: ")
caps = sum(1 for c in password if c.isupper())
lower = sum(1 for c in password if c.islower())
nums = sum(1 for c in password if c.isnumeric())
r = [caps, lower, nums]
if not password.isalnum(): # use .isalpha() if you don't want digits in your password
print("Invalid password")
if len(password) < 8:
if caps >= 1:
if lower >= 1:
if nums >= 1:
print("Valid password")
elif nums < 1:
print("Invalid password")
elif lower < 1:
print("Invalid password")
elif caps < 1:
print("Invalid password")
【问题讨论】:
-
添加代码当前正在执行的操作会很有帮助。它的行为不符合您的预期吗?
-
理想情况下,您应该对所有密码进行一种加密...比如说使用
sha1并比较它的hexdigest。这将解决您的所有问题!