對不起,我想在python 3.2上編寫密碼強度檢查代碼,但它看起來像我不斷收到錯誤的地方。無論何時我的輸入是#$%$ J,都會進入if input.upper()爲真。我如何防止這種情況發生?我的分數值不準確。 編碼:密碼強度檢查
所有的password_user = input("Input password : ")
score = 0
if len(password_user) <=5:
print("Password is too short! ")
score = 1
elif password_user == password_user.lower():
print("Bad Password")
score = 1
elif password_user == password_user.upper():
print("Bad Password")
score = 1
else:
while score == 0:
for x in range(33,48):
ascii_str = chr(x)
if password_user.find(ascii_str) >= 0:
score = score + 3
for y in range(97,123):
ascii_lower = chr(y)
if password_user.find(ascii_lower) >= 0:
score = score + 1
for w in range(65,91):
ascii_upper = chr(w)
if password_user.find(ascii_upper) >= 0:
score = score + 2
for z in range(48,58):
ascii_num = chr(z)
if password_user.find(ascii_num) >= 0:
score = score + 2
if score >0 | score <=5:
print("Weak Password")
print(score)
elif score > 5 | score < 7:
print("Medium Password")
print(score)
elif score >= 7:
print("Strong Password")
print(score)
你的問題太廣泛了,試着將你的問題縮小到你需要幫助的幾行代碼。包括樣本數據以及預期的流程/結果。 –
你能指定你的錯誤嗎?也許我可以幫忙。 – aIKid
請教我的[對相似問題的回答](http://stackoverflow.com/a/16710035/1561176) –