#オリジナル機能:時間関数はtime.sleepで(n)を行うアナログ #デコレータA:プラス時間統計機能 #デコレータII:プラスのログイン認証機能:ファイルからのユーザーのアカウントのパスワード #1、ログ成功したフォローアップ機能は、ユーザー名を入力することはもはや必要ではないとパスワード #は3のデコレータ:ファイルからユーザーのアカウントのパスワード:ログイン認証機能を追加 #タイムアウトよりも、タイムアウト期間内にログインを繰り返すことなく、ログインに成功したら、2時間、あなたは再度ログインする必要があります インポート時 DEF :time_count(FUNC) DEFの非表示(* argsを、** :kwargsから) スター = time.time() FUNC( * argsを、** kwargsから) 終了 = time.time() 印刷(「この第2のプログラムの実行は、{}かかる」 .format(エンド- スター)) リターン非表示 DEFのlogin_check_1(FUNC): DEFの非表示(* argsを、** kwargsから): タグ。= 1 しばらくタグ: のlogin_name = INPUT(' 入力ログインアカウント:' ).strip() login_pwd = INPUT(' パスワードを入力します。' ) .strip() オープン(rの' 02アカウントライブラリ.TXT '、MODE = ' RT '、エンコード= ' UTF-8 ' :)ファイルAS 用 check_info でのファイル: check_list。= Check_info.strip()スプリット(' :' ) IFのlogin_name == check_list [0] と login_pwd == check_list [1。]: 印刷(' ===ログインに成功し、その後のプログラムの実行が継続されます=== ' ) タグ = 0 BREAK 他: 印刷(' ユーザー名またはパスワードが間違っている、再入力してください' ) FUNC( * argsを、** kwargsから) 復帰を隠す DEFのlogin_check_2(FUNC): DEFの非表示(* argsを、**kwargsから): タグ = 1 しばらくタグ: のlogin_name = INPUT(' ログインアカウントを入力します。' ).strip() login_pwd = INPUT(' :パスワードを入力してください' ).strip() オープン(rの' 02アカウントライブラリ.TXT '、MODE = ' RT ' =エンコード、'UTF-8 ' )ファイルAS: 用 check_info でのファイル: check_list。check_info.strip =()スプリット(' :' ) IFのlogin_name == check_list [0] と login_pwd == check_list [1。]: 印刷(' ===ログインに成功し、その後のプログラムの実行が継続されます=== ' ) login_star_time = time.time() FUNC( * argsを、** kwargsから) INPUT(' アナログ動作時間' ) login_end_time = time.time() do_time = login_end_time - login_star_time IF <do_time 6。: タグ = 0 他: 印刷(「操作は再ログイン、タイムアウトした」) BREAK 他に: 印刷(「ユーザー名またはパスワードが間違っている、再入力してください」) の戻り隠す DEF 追加(A、B): (time.sleep。3 ) 印刷(" 機能プリミティブ:{} ' .format(+のB))