[python 3]簡単なログイン認証プログラムの作成
1770 ワード
必要:
1.ユーザーにユーザー名のパスワードを入力させる
2.資格認定に成功すると、ウェルカムメッセージが表示されます
3.3回間違えてプログラムを終了する
アップグレードの要件:
1.複数のユーザー・ログインをサポートできます(複数のアカウント情報をリストで保存)
2.ユーザーが3回認証に失敗した後、プログラムを終了し、再度プログラムを起動してログインしようとした場合、まだロック状態であり、ユーザーがロックした状態をファイルに保存する必要がある.
以下は私が書いた答えで、少し面倒な感じがしますが、機能はすべて実現しました.ご参考までに^^
プログラムを実行するには、ルートディレクトリにlockedを作成する必要があります.txtは、ロックユーザ情報を格納する.
1.ユーザーにユーザー名のパスワードを入力させる
2.資格認定に成功すると、ウェルカムメッセージが表示されます
3.3回間違えてプログラムを終了する
アップグレードの要件:
1.複数のユーザー・ログインをサポートできます(複数のアカウント情報をリストで保存)
2.ユーザーが3回認証に失敗した後、プログラムを終了し、再度プログラムを起動してログインしようとした場合、まだロック状態であり、ユーザーがロックした状態をファイルに保存する必要がある.
以下は私が書いた答えで、少し面倒な感じがしますが、機能はすべて実現しました.ご参考までに^^
プログラムを実行するには、ルートディレクトリにlockedを作成する必要があります.txtは、ロックユーザ情報を格納する.
# _author_:wyq
# _date_:2018/7/9
user_list = [['wyq', '123', 0],['xf', '123', 0],['alex', '123', 0]]
lock_list = []
f = open('locked.txt', 'r')
for l in f.readlines():
lock_list.append(l.strip())
f.close()
while True:
username = input(" :")
passwd = input(" :")
if username not in [user[0] for user in user_list]: #
print(" %s , 。" % username)
else:
if username in lock_list: #
print(" %s , !" % username)
continue
for user in user_list:
if username == user[0] and passwd == user[1]: # ,
print(" %s !" % username)
exit()
elif username == user[0] and passwd != user[1]: # ,
print(" %s , %d 。" % (username, 2 - user[2]))
user[2] += 1
if user[2] == 3: # ,
f = open('locked.txt', 'a')
f.write('%s
' % user[0])
f.close()
print(" !")
exit()