模拟登录
passwd = {} #定義passwd字典
lock= [] #定義lock列表
def file(filename):
#定義file函數
with open(filename,'r+') as f:
#讀寫方式打開文件
for i in f:
if filename == 'passwd.txt':
passwd[i.split(':')[0]] = i.strip().split(':')[1]
#將passwd.txt中的內容加入到passwd字典中
elif filename == 'lock.txt':
lock.append(i.strip())
#將lock.txt中的內容加入到lock列表中
file('passwd.txt')
#將passwd.txt中的內容加入到passwd字典中
file('lock.txt')
# 將lock.txt中的內容加入到lock列表中
usrname = input('請輸入用戶名:')
if usrname in lock:
#判斷輸入用戶是否在lock里
print('該用戶已鎖定')
elif usrname in passwd:
#判斷用戶是否在passwd里
for i in range(3):
# 循環三次
password = input("請輸入密碼:")
if password == passwd[usrname]:
#用戶對應的密碼正確
print('登錄成功!')
break
elif i<2:
#密碼不正確但是小于3次
print('請重新輸入密碼')
else:
#密碼不正確等于3次
print('您的用戶已經鎖定')
with open('lock.txt', 'a+') as f:
#打開lock.txt文件
f.write(usrname)
f.write('\n')
#將用戶名寫入鎖定文件并換行
else:
#用戶不存在
print('請注冊!')
lock= [] #定義lock列表
def file(filename):
#定義file函數
with open(filename,'r+') as f:
#讀寫方式打開文件
for i in f:
if filename == 'passwd.txt':
passwd[i.split(':')[0]] = i.strip().split(':')[1]
#將passwd.txt中的內容加入到passwd字典中
elif filename == 'lock.txt':
lock.append(i.strip())
#將lock.txt中的內容加入到lock列表中
file('passwd.txt')
#將passwd.txt中的內容加入到passwd字典中
file('lock.txt')
# 將lock.txt中的內容加入到lock列表中
usrname = input('請輸入用戶名:')
if usrname in lock:
#判斷輸入用戶是否在lock里
print('該用戶已鎖定')
elif usrname in passwd:
#判斷用戶是否在passwd里
for i in range(3):
# 循環三次
password = input("請輸入密碼:")
if password == passwd[usrname]:
#用戶對應的密碼正確
print('登錄成功!')
break
elif i<2:
#密碼不正確但是小于3次
print('請重新輸入密碼')
else:
#密碼不正確等于3次
print('您的用戶已經鎖定')
with open('lock.txt', 'a+') as f:
#打開lock.txt文件
f.write(usrname)
f.write('\n')
#將用戶名寫入鎖定文件并換行
else:
#用戶不存在
print('請注冊!')
轉載于:https://www.cnblogs.com/judge9/p/6891065.html
總結
- 上一篇: sqlite自己主动更新数据库
- 下一篇: CodeForces - 2B The