模擬博客園登錄!

一.首先程序啓動,顯示下面內容供用戶選擇:

1.請登陸

2.請註冊

3.進入文章頁面

4.進入評論頁面

5.進入日記頁面

6.進入收藏頁面

7.註銷帳號

8.退出整個程序

二.必須實現的功能:

1.註冊功能要求:

a.用戶名、密碼要記錄在文件中。

b.用戶名要求:只能含有字母或者數字不能含有特殊字符而且確保用戶名惟一。

c.密碼要求:長度要在6~14個字符之間。

d.超過三次登陸還未成功,則退出整個程序。

2.登陸功能要求:

a.用戶輸入用戶名、密碼進行登陸驗證。

b.登陸成功以後,才能夠訪問3 - 7選項,若是沒有登陸或者登陸不成功時訪問3 - 7選項,不容許訪問,跳轉到登陸。(修改全局變量)

3.進入文章頁面要求:

提示歡迎xx進入文章頁面。(xx是當前登陸的用戶名)

4.進入評論頁面要求:

提示歡迎xx進入評論頁面。

5.進入日記頁面要求:

提示歡迎xx進入日記頁面。

6.進入收藏頁面要求:

提示歡迎xx進入收藏頁面。

7.註銷帳號要求:

不是退出整個程序,而是將已經登陸的狀態變成未登陸狀態(訪問3~7選項時須要從新登陸)。

8.退出整個程序要求:

就是結束整個程序。

4.用代碼實現三次用戶登陸及鎖定(選作,時間充足建議作一作)

項目分析:

一.首先程序啓動,顯示下面內容供用戶選擇:

1.註冊

2.登陸

a.用戶選擇登陸的時候,首先判斷用戶名在userinfo.txt表中存在不在,存在就不能進行註冊

b.當註冊的用戶名不存在的時候將用戶名和密碼寫入到userinfo.txt文件中

c.用戶選擇登陸的時候,判斷用戶輸入的帳號和密碼是否userinfo.txt存儲的一致

d.用戶名和密碼一致就終止循環,並提示用戶登陸成功!

e.用戶名和密碼不一致,只有三次登陸機會,三次事後提示用戶名被鎖定,請聯繫管理員!並終止循環

f.當用戶名輸出三次,再次運行程序.登陸鎖定的帳號繼續提示用戶名被鎖定,請聯繫管理員!

d.超過三次登陸還未成功,則退出整個程序。

2.登陸功能要求:

a.用戶輸入用戶名、密碼進行登陸驗證。

b.登陸成功以後,才能夠訪問3 - 7選項,若是沒有登陸或者登陸不成功時訪問3 - 7選項,不容許訪問,跳轉到登陸。(修改全局變量)

name, pwd, flag = [], [], []
def func():
with open("userinfo.txt.txt", "w") as f:
for i in range(len(name)):
f.write(name[i] + ":" + pwd[i] + ":" + flag[i] + "\n")
lst1 = """
1.請登陸
2.請註冊
8.退出整個程序
"""
lst2 = """
3.進入文章頁面
4.進入評論頁面
5.進入日記頁面
6.進入收藏頁面
7.註銷帳號
8.退出整個程序
"""app

k = ""
Flag = False
with open("userinfo.txt.txt") as f:
for i in f.readlines():
if len(i)>0:
a, b, c = i.split(":")
name.append(a)
pwd.append(b)
flag.append(c.strip("\n"))
while 1:
while Flag:
print(lst2)
break
else:
print(lst1)
num = input("請輸入序號")
if num == "1":
count = 3
name = input("請輸入帳號:")
while count > 0:
if name in name:
if flag[name.index(_name)] == "1":
pwd = input("請輸入密碼")
if pwd == pwd[name.index(_name)]:
print("登錄成功!")
Flag = True
k = name
break
else:
print("密碼錯誤")
count -= 1
else:
print("用戶名被鎖定,請聯繫管理員")
break
else:
print("用戶名不存在")
break
else:
flag[name.index(_name)] = "0"
print("用戶名被鎖定,請聯繫管理員")
elif num == "2":
while 1:
name
= input("請輸入用戶名:")
if name
.isalnum():
pwd
= input("請輸入密碼:")
if 16 > len(pwd
) > 5:
if name
not in name:
name.append(name_)
pwd.append(pwd_)
flag.append("1")
print("註冊成功")
break
else:
print("已有用戶名,請從新輸入")
else:
print("長度要在6~14個字符之間")
else:
print("非法用戶名")code

elif num == "3" and Flag:
    print(f"歡迎{k}進入文章頁面")
elif num == "4" and Flag:
    print(f"歡迎{k}進入評論頁面")
elif num == "5" and Flag:
    print(f"歡迎{k}進入日記頁面")
elif num == "6" and Flag:
    print(f"歡迎{k}進入收藏頁面")
elif num=='7'and Flag:
    func()
    Flag = False
    print("註銷成功")
elif num == "8":
    func()
    print("退出成功")
    exit()
else:
    print("未登錄或字符錯誤")
相關文章
相關標籤/搜索