題し:インターフェースを書き込むには、ログイン
要件: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()