ユーザーのログイン・インターフェース・プログラム

題し:インターフェースを書き込むには、ログイン

要件:1は、ユーザー名とパスワードを入力します。

           2、認証が成功した後のウェルカムメッセージを表示します

           図3に示すように、ロックする失敗した試みの後に、

要求の対象は、第一次のフローチャートとします。

2、最初の接触のpythonは、多くの詳細はまだなじみのない知識、自分のプログラミング中に発生した問題、および記録するソリューションを用意し、今後の学習に蓄積するだけでなく、他のPython初心者の学習者のための体験を提供します。

「予期しないインデント」:1)プログラミングプロセス、エラーメッセージがありました。

      入力文とよりインデント4つのグリッド:このエラーが原因で発生します。

2は、プログラミングプロセスが使用する、機能TXT文書を開きます。

質問1:どのようにオープンTXTドキュメントを達成するには?

LOCK_FILE =オープン( "txtファイル・パス")

lock_list = lock_file.readlines()

印刷(lock_list)

オープンTXT文書の基本的な機能を達成するために、

質問2:TXT文書は、文字列や数値を持っている場合は、txtファイルを開いて、

LOCK_FILE =オープン( "D:\ pythonの\ studydiary \ oneweek \ USER.TXT")

エラーメッセージ:(ユニコード・エラー)「unicodeescape」コーデック位置28-29内のバイトをデコードすることができない。切り捨て\ uXXXXという。

、Pythonで「\」エスケープ文字を表しているためです。

解決策は以下のとおりです。1)文字列を加え、その上に「R」の前で。

=オープンLOCK_FILE(R&LT "D:\ Pythonの\ studydiary \ oneweek \ USER.TXT「)
2)で" \ "フロント、プラス" \ "エスケープ、LOCK_FILE =オープン(" D: \\パイソン\\ studydiary \\ \\ oneweek USER.TXT「)

 質問3:TXT文書は "に保存されています

zhanger
lili
baidu

用上述程序读出来的结果是:

['zhanger  \n', 'lili\n', 'baidu\n']”

不想要“\n”怎么解决?

解决方法:使用strip()函数去掉每行结束的\n

strip()函数原型

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

例如:

 for line in file.readlines():

      line=line.strip('\n');

在本例中解决代码如下:

lock_file = open ("D:\\python\\studydiary\\oneweek\\lockeduser.txt")
lock_list = lock_file.readlines()
for lock_line in lock_list:
lock_line=lock_line.strip('\n')
print(lock_line)
运行程序后,输出结果如下:

3、实现出现异常,要异常退出功能。

python中退出程序的两种方法,sys.exit和os.exit(0),0为默认状态,可以为空,两者均会退出当前运行的程序。os.exit中的0不能省略。

1)sys.exit(0):可以捕获systemexit异常,然后做相应的清理工作,执行结果是直接输出goodbye。

2)os.exit(0):直接中断并立即退出程序,什么也不管。

在该程序中,要求,当在锁定用户库中查询到为锁定用户,则显示,改用户名为锁定用户,并异常退出,所以用sys.exit()

4、从txt文本中读取文档,是如下形式的

‘zhangsan 123’ ‘lisi   234’  ‘zhangping   345’

怎么实现将名字和密码分开提取和存储?

python中,用split()函数来实现字符串切割功能。split()语法结构如下:

str.split(str="",num=string.count(str))

例如:

str="I come from Beijing"

print(str.split())  #以空格为分隔符进行分割

print(str.split('o',1))  #以第一个o为分隔符进行分割

print(str.split('m'))   #以m为分隔符进行分割

以上实例输出结果如下:

[‘I','come','from','Beijing']

  ['I c','me from Beijing']

  ['I co','e fro','Beijing']

5、该功能函数代码如下:

import sys,getpass,io

i=0
while i<3:
    username = input("username:")
    locked_user_information = open(r"//Users//yxy-zhaolu//Documents//Share Data//9//locked_user_information.txt")
    locked_user_list = locked_user_information.readlines()
    user_information = open("//Users//yxy-zhaolu//Documents//Share Data//9//user_information.txt")
    user_information_list = user_information.readlines()

    for locked_user_line in locked_user_list:  #打开锁定用户名的文档并搜索该用户是否为锁定用户
        locked_user_line=locked_user_line.strip('\n')
        if username ==locked_user_line:
            print("sorry,this username had locked!")
            sys.exit()

    for user_information_line in user_information_list:
        (user_name,pass_word) = user_information_line.strip('\n').split()
        if username == user_name:
            j=0
            while j<3:
                password = input("password:")
                if password == pass_word:
                    print("welcome you, ",username)
                    sys.exit()
                else:
                    if j<3:
                        print("sorry,you have wrong password,please try again")
                j=j+1
            else:
                add = open("//Users//yxy-zhaolu//Documents//Share Data//9//locked_user_information.txt",'w')
                locked_user_information=add.write(username)
                locked_user_information.close()
                sys.exit
        else:
            print("this username is not exist")
            pass
    i=i+1
else:
    sys.exit()
locked_user_information.close()
user_information.close()

 

 

 

おすすめ

転載: www.cnblogs.com/zhaolu/p/11087475.html