この記事の例では、参照用にPythonパスワードの強度を判断するための特定のコードを共有しています。具体的な内容は次のとおりです。
プログラムの説明:ユーザー入力を取得することにより、パスワードの長さが8より大きいかどうかを判断すると同時に、数字と文字が含まれているかどうかを判断し、関連情報を返します。
【関連知識ポイント】
Python文字列:
str.isnumeric()---文字列に数字のみがあるかどうかを確認し、TrueまたはFalseを返します(数字のみがあることに注意してください)
str.isalpha()---文字列に文字しかないかどうかを確認し、Trueまたは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
breakreturn has_number
# 通常、プログラムでは2つの返品が連続して使用されることはありません。
# 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
breakreturn has_Alpha
def main():"""
メイン機能
: return:12"""
Try_times =5while Try_times 0:
password =input('パスワードを入力してください:')
# パスワードの強度
strength_level =0
# ルール1:パスワードの長さが8iflenより大きい(password)=8:
strength_level +=1else:print('8より長いパスワードを入力してください...')
# ルール2:数字があるかどうかを判断する
ifexistNumber(password):
strength_level +=1else:print('パスワードには数字を含める必要があります')
# ルール3:パスワードに文字が含まれている
ifexistAlpha(password):
strength_level +=1else:print('パスワードには文字を含める必要があります')if strength_level ==3:print('パスワードが正しく入力されています!')breakelse:
Try_times -=1if Try_times ==0:print('間違ったパスワードが多すぎます!')else:print('間違ったパスワード!残り{}タイムズ'.format(Try_times))print() #空白行を追加
if __name__ =='__main__':main()
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts