1. 程式人生 > 程式設計 >python字串判斷密碼強弱

python字串判斷密碼強弱

本文例項為大家分享了Python密碼強弱判斷的具體程式碼,供大家參考,具體內容如下

程式說明:通過獲取使用者輸入,判斷密碼長度是否大於8,同時判斷其中是否包含數字和字母,並返回相關資訊。

【相關知識點】

Python字串:

str.isnumeric() -----檢測字串是否只有數字 返回True or False(注意是隻有數字)
str.isalpha() -----檢測字串中是否只有字母 返回True or False
str.islower() -----檢測字串中是否都為小寫
str.isupper() ------檢測字串中是否都為大寫

 """
 作者: 王嘯北
 日期: 2019.05.19
 功能: 判斷輸入密碼的強弱
 版本: v2.0
 增加功能: 迴圈終止
"""

# 判斷輸入字串中是否含有數字
def existNumber(password_str):
 has_number = False
 for c in password_str:
  if c.isnumeric():
   has_number = True
   break
 return has_number
 # 程式中一般不連續用兩個return
 #   return True # return 提前終止迴圈
 # return False

# 判斷輸入字串中是否含有字母
# def existAlpha(password_str):
#  for c in password_str:
#   if c.isalpha():
#    return True
#  return False

# v2.0 判斷輸入字串中是否含有字母
def existAlpha(password_str):
 has_Alpha = False
 for c in password_str:
  if c.isalpha():
   has_Alpha = True
   break
 return has_Alpha

def main():
 """
 主函式
 :return:12
 """

 Try_times = 5
 while Try_times > 0:
  password = input('請輸入密碼:')
  # 密碼強度
  strength_level = 0

  # 規則一: 密碼長度大於8
  if len(password) >= 8:
   strength_level += 1
  else:
   print('請輸入長度大於8的密碼...')

  # 規則二: 判斷是否有數字
  if existNumber(password):
   strength_level += 1
  else:
   print('密碼中需包含數字')

  #規則三: 密碼中包含字母
  if existAlpha(password):
   strength_level += 1
  else:
   print('密碼中需包含字母')

  if strength_level == 3:
   print('密碼輸入正確!')
   break
  else:
   Try_times -= 1
   if Try_times == 0:
    print('密碼錯誤次數太多!')
   else:
    print('密碼錯誤!剩餘{}次'.format(Try_times))
  print() #新增空行

if __name__ == '__main__':
 main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。