[英]Password Checker Python
在我的密碼檢查器中,我不知道為什么當我在輸入中使用大寫和小寫時,它不會輸出強密碼。
enter code here
print("Password Checker")
pw=input("Enter Your Password Here: ")
if len(pw)<=5:
if pw!=pw.upper()or pw!=pw.lower():
print("WEAK Password")
elif len(pw)>=6 and len(pw)<=12:
if pw==pw.lower():
print("Medium Password")
elif len(pw)>=13:
print("Too Long")
elif len(pw)<=12 and len(pw)>=6:
if pw==pw.upper() and pw==pw.lower():
print("Thats A STRONG Password")
你的邏輯在這里倒退
if pw!=pw.upper() or pw!=pw.lower():
你會使用
if pw != pw.upper() and pw != pw.lower():
或者
if pw == pw.upper() or pw == pw.lower():
您在后面的行中遇到了類似的問題
if pw==pw.upper() and pw==pw.lower():
如果您想檢查是否至少有一個大寫字母和一個小寫字母,您可以執行以下操作
import string
if any(i in string.ascii_lowercase for i in pw) and any(i in string.ascii_uppercase for i in pw):
if pw==pw.upper() and pw==pw.lower():
print("Thats A STRONG Password")
您在這里檢查 pw 是否同時為大寫和小寫。 我想您想檢查密碼是否不僅是小寫字母而且不僅是大寫字母。 所以應該是
if pw != pw.upper() and pw != pw.lower():
print("Thats A STRONG Password")
當然在“弱通行證”中應該是
if pw == pw.upper() or pw == pw.lower():
print("Thats A WEAK Password")
因為您正在檢查 pass 是全部小寫還是全部大寫
好的。 如果字符串中包含數字或特殊字符,則 .upper() 和 .lower() 方法將無法確定字符串是全部大寫還是全部小寫字母。
相反,使用 .isupper() 來檢查字符串中的特定字符是否為大寫。 和 .islower() 表示小寫。 這些方法在字符串中逐個字符地檢查,因此代碼行將是:
if any(x.isupper() for x in pw) and any(x.islower() for x in pw):
所以完整的代碼(帶有邏輯的組織)將是:
print("Password Checker")
pw=input("Enter Your Password Here: ")
#checking if password is to short, or to long.
if len(pw)<=5 or len(pw)>=13:
if len(pw)<=5:
print ("To Short")
else:
print ("Too Long")
else:#password is correct length
#checking if a uppercase AND a lowwercase.
if any(x.isupper() for x in pw) and any(x.islower() for x in pw):
print ("Thats A STRONG Password")
else:
print ("Medium Password")
如果我能回答有關此的任何其他問題,請告訴我。
注意:從使用 input() 更改為 raw_input() 以與 python 2.7 兼容
這是我制作的密碼檢查器,用於檢查符號和數字以及大寫字母:
def check_password(password):
strength = 0
symbol_list = ['!','@','#','$','%','^','&','*','(',')','[',']','{','}',';',':','<','>',',','.']
num_list = ['1','2','3','4','5','6','7','8','9','0']
if len(password) >= 8:
# this is the part that checks for capitol letters
for k in password:
if k == k.upper:
strength +=1
for i in symbol_list:
if i in password:
strength+=1
for j in num_list:
if j in password:
strength += 1
# determines the strength
if strength <= 5:
print("Weak password")
elif strength > 5 and strength < 8:
print("Ok Password")
if strength > 8:
print("Strong password")
else:
print("Password too short")
注意:您可以更改 if 語句中的值以滿足您的需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.