一.首先程式啟動,顯示下面內容供使用者選擇:
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.退出整個程式
"""
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("非法使用者名稱")
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("未登陸或字元錯誤")