python自學之路:模擬用戶登陸

python學習:
模擬用戶登陸
1、輸入帳號密碼進行登錄;
2、用戶信息保存著文件內(nèi);
3、用戶密碼輸入錯誤三次后鎖定;

第一次程序,問題比較多,畫蛇添足也比較多,寫的比較差,還請多多指教
代碼如下

Python Code

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 17/7/29 下午5:17
# @Author  : Shope
# @Site    : 
# @File    : file_opreation2.py
# @Software: PyCharm

users=[]
line1=[]
users1=[]
login=0
f = open("/users/shope/python/file.txt","r")
#txt文件包括信息
# shope 123456
# jack  654321
# alex  110032
# lilei 111111
for line in f:
    users.append(line.split())
print(users)
#用戶注冊

new = raw_input("是否有帳號(Y\N):")
if new =="y" or new =="Y":
    while login==0:
        name = raw_input("請輸入注冊用戶名:")
        for list in users: #檢索用戶是否存在
            if name == str(list[0]):
                print("用戶已存在!")
                break
            else:
                login=1
                break
    password=raw_input("請輸入密碼:")
    f = open("/users/shope/python/file.txt","a")
    f.write("%s"%name)
    f.write(" ")
    f.write("%s\n"%password)
    f.close()
else:
    #
    pass
# f = open("/users/shope/python/new_file.txt","r")
# for line in f:
#     users.append(line.split())
# #調(diào)試使用
# #print(users)
# f.close()
#調(diào)試使用
f = open("/users/shope/python/file.txt","r")
for line in f:
    users1.append(line.split())
    for line1 in users1:
        if line1 in users1:
            break
        else:
            users.append(line.split())
print(users)
f.close()
i,j,m=0,0,0
falg=2 #flag標記最后輸出信息
user = raw_input("請輸入登陸用戶名:")
while i<3:
    for list in users: #檢索用戶是否存在
        #print(str(list[0]))
        #print(str(list[-1]))  #打印當前用戶信息,測試使用
        if user == str(list[0]):
            passwd = raw_input("請重新輸入用戶%s的密碼:"%user)
            if passwd == list[-1]:
                i=100
                falg=1
                break
            else:
                print("登陸密碼錯誤!")#密碼輸入錯誤,給用戶輸入機會
                j=0 #重置輸入密碼次數(shù)
                while j<2:
                    print("你還有%s機會輸入密碼:" % (2 - j))
                    passwd = raw_input("請重新輸入用戶%s的密碼:"%user)
                    if passwd ==list[-1]:
                        i=100
                        m=99
                        falg =1
                        break
                    else:
                        j+=1
                        falg=0
                print("輸出密碼錯誤過多?。?)
                break
            pass
        # else:
        #     print("用戶不存在!")
    y = raw_input("是否需要換個用戶?(Y\N):") #用戶密碼輸入錯誤,詢問是否還要繼續(xù)嘗試輸入用戶密碼,這兒有bug沒有解決
    if y== 'N' or y=='n':
        m=100
        break
    elif y== 'Y' or y=='y':
        pass
    else:
        m=100
        break
    #else:
        #user = raw_input("please input your userid again:")
    if m>1:
        print("謝謝使用!")
        i==100
    else:
        user = raw_input("你還有%s機會輸入用戶名:"%(2-i))
    i+=1
#程序執(zhí)行完之后,根據(jù)flag值打印相關(guān)信息
if falg==1:
    print("歡迎使用本測試軟件")
elif falg==0:
    print("密碼錯誤過多!")
else :
    print("用戶名及密碼不能匹配")

file.txt文件內(nèi)容:

shope 123456
jack 654321
alex 110032
lilei 111111
hanmeimei 11111111

FYI

Thank you for your support and reading

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容