登録:
#1、先把文件内容读出来 USER_INFO = {} 、FW =オープン(' ユーザ'、' + '、エンコード= ' UTF-8 ' ) fw.seek(0) のための行にFW: 行 = line.strip( ) の場合ライン=!'' : ユーザー名、パスワード、ERROR_COUNT = line.split(' ' ) [ユーザー名] USER_INFO = { ' パスワード':パスワード、' ERROR_COUNT ':INT(ERROR_COUNT)} 用の I における範囲(3 ): ユーザ名 =入力(' ユーザ名:' )。.strip()下() パスワード =入力(' パスワード:' ).strip() cpassword =入力(' cpassword :' ).strip() の場合、ユーザー名== '' またはパスワード== '' または cpassword == '' : 印刷(' ?账号密码、确认密码不能为空" ) のelif LEN(ユーザー名)<6 かlenは(ユーザー名)> 12であるか、 LEN(パスワード)<6。または LEN(パスワード)> 12である: 印刷(' 長さのユーザ名/パスワードの最小6、最大12 ' ) のelifのパスワード=!cPassword: 印刷(" 二つの入力一貫性のないパスワード' ) のelifのユーザー名でUSER_INFO: 印刷(' ユーザ名がすでに存在している!' ) それ以外: USER_STRがある = ' %S、%S、0 \ N- "%(ユーザ名、パスワード) fw.write(USER_STRがあります) fw.flush()# USER_INFO [ユーザー名] = { ' パスワード':パスワード、' ERROR_COUNT ' :0} 印刷(' 注册成功!' ) #のブレーク fw.close()
ログイン
#2、2PYログ #1を、口座番号、パスワードが空白でない #アカウントかどうか存在を確認するために、図2に示すように、不在はに促さ #、3三回入力の最大 #4、不感アカウント #5、口座番号、パスワードへの6以上と12以下 #ログインするたびに6、間違ったパスワード、あなたは、失敗の数のこのアカウントを再度追加 #7を、そしてそれが失敗した場合、その数は、アカウントがロックされていることを示唆し、3倍以上です。 インポート日時 USER_INFO = {} FW =オープン(' ユーザ'、' A + '、エンコード= ' UTF-8 ' ) fw.seek(0) のためのラインにFW: ライン = line.strip() IF!=行'' : ユーザ名、パスワード、ERROR_COUNT = line.split(' ' ) [ユーザ名] USER_INFO = { ' パスワード':パスワード、' ERROR_COUNT ' :INT(ERROR_COUNT)} 用の I における範囲(3 ): ユーザ名 =入力(' ユーザ名:' )。.strip()下() パスワード =入力(' パスワード:' ).strip() もしユーザ名== '' 又はパスワード== '' : 印刷(' ?アカウントのパスワードを空にすることはできません' ) のElif <。6 LEN(ユーザー名)または LEN(ユーザー名)> 12であるか、 LEN(パスワード)<。6 または LEN(パスワード)> 12である: 印刷(「ID /パスワードの最小の長さ6、最大12 ' ) のelifのユーザ名ではない でUSER_INFO: 印刷(' !のユーザー名が存在しない' ) のelif [[ユーザー名] USER_INFO ' ERROR_COUNT ' ]> 3 : 印刷(' 間違ったパスワードを入力する回数が多すぎます!' ) のelif user_info.get(ユーザー名)に.get(' パスワード')=! :パスワード プリント(' 密码错误!' ) [[ユーザー名] USER_INFO ' ERROR_COUNT ' ] + = 1 他: 印刷(' 登录成功%sの!'%のdatetime.datetime.now()) ブレーク fw.seek(0) fw.truncate() のためのユーザ名、user_dict でuser_info.items(): パスワード = user_dict.get(' パスワード" ) ERROR_COUNT = user_dict.get(' ERROR_COUNT ' ) user_str = ' %sの、%sの%sの\ nは'%(ユーザ名、パスワード、ERROR_COUNT) fw.write(user_str) fw.flush() fw.close()