您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python如何實現注冊登錄功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
具體內容如下
本文是用Python寫一個注冊登錄功能,難度不大,很適合練手
主要就是用列表和字典,以及邏輯判斷
用到的第3方庫模塊是time模塊,以及re(正則表達式)模塊
這里使用time模塊就是為了通過sleep方法,讓程序運行有進程感,不是一下子蹦出所有信息
使用re模塊就是用于判斷密碼的復雜性,我們注冊軟件系統判斷我們的密碼是否足夠復雜就是通過正則表達式去判斷的
首先第1步就是導入這2個模塊,即
import time import re
之后需要1個列表用于存儲注冊的id,需要一個字典,來將ID與密碼綁定在一起,因為字典是key:value格式,以ID作為key,密碼(password)作為value,就實現了綁定
代碼可表示為
user_id=[] #存儲用戶id user_dict={} #將id與密碼綁定
之后就要詢問用戶是否注冊過賬號,如果沒注冊,就提示用戶注冊賬號,可以通過一個變量接收用戶的選擇,然后進行對應的操作
choice=input('您是否注冊過賬號 沒有請注冊 1:注冊 2:登錄 3:退出系統')
輸入1,就進入到注冊界面,注冊首先需要輸入用戶名,輸入密碼,最后提示用戶注冊成功
然后需要將用戶的id加入到user_id中,用字典存儲用戶的id和密碼,即
user_name=input('請輸入用戶名') password=input('請輸入密碼') user_id.append(user_name) for item in user_id: if item not in user_dict: user_dict[item]=password print('注冊成功!)
注冊好就需要登錄了,這個過程相比于注冊稍稍麻煩些
首先,需要判斷用戶輸入的id是否注冊過(也就是輸入的id是否在user_id中)
之后,若存在,還需匹配密碼正確與否,正確才可登錄。
但是,可能用戶會忘記密碼,雖然我們可以通過字典查看密碼并打印給用戶,但是一般不建議這么做,盡量建議用戶修改密碼,以及用戶輸入了未注冊的ID,需要建議用戶注冊,提高效率。
判斷元素是否在列表中只需要i in list即可,若為真,則元素存在于列表中,反之不在
while 1: name=input('請輸入用戶名') key=input('請輸入密碼') if name in user_id: if user_dict[name]==key: print('登錄成功') break else: print('密碼錯誤 請檢查好輸入') q=input('您是否選擇更改密碼 輸入y更改 輸入其他退出') if q=='y': new_password=input('請輸入新密碼') user_dict[name]=new_password print('密碼修改成功!') else: break else: print('用戶名不存在 請檢查好輸入') r=input('您是否需要注冊賬號 輸入1注冊 其他退出') if r=='1': user_login=input('請輸入要注冊的用戶名') password_login=input('請輸入您的登錄密碼') user_id.append(user_login) for num in user_id: if num not in user_dict: user_dict[user_login]=password_login print('注冊成功') else: break
值得注意的是,一定要先判斷id是否存在,而不是直接判斷密碼,因為沒注冊的id在字典中沒有對應的鍵,會報錯誤Keyerror
之后就是退出程序了,建議5s緩沖在退出,不至于太突然 可以使用time.sleep()方法
print('感謝您的使用,程序將在5秒后退出') for i in range(5): time.sleep(1) print('程序將在{}秒后退出'.format(5-i))
至此,項目功能就全部完成了,下面是項目的源代碼:
上面沒有講正則表達式,源代碼中帶有正則表達式判斷是否含有字母
import time print('----------感謝您使用本系統------------') user_id=[] user_dict={} time.sleep(1) while 1: choice=input('您是否注冊過賬號 沒有請注冊 1:注冊 2:登錄 3:退出系統') if choice=='1': user_name=input('請輸入用戶名') while 1: password=input('請輸入密碼 需要包含字母') p=re.compile('^.*[A-Z a-z]+.*$') if p.match(password): break else: print('密碼不夠復雜 重新輸入') user_id.append(user_name) for item in user_id: if item not in user_dict: user_dict[item]=password elif choice=='2': while 1: name=input('請輸入用戶名') key=input('請輸入密碼') if name in user_id: if user_dict[name]==key: print('登錄成功') break else: print('密碼錯誤 請檢查好輸入') q=input('您是否選擇更改密碼 輸入y更改 輸入其他退出') if q=='y': while 1: new_password1=input('請輸入新密碼') new_password2=input('請確認新密碼') if new_password_1==new_password2: user_dict[name]=new_password1 break else: print('兩次密碼輸入不一致,請重新輸入') print('密碼修改成功!') else: break else: print('用戶名不存在 請檢查好輸入') r=input('您是否需要注冊賬號 輸入1注冊 其他退出') if r=='1': user_login=input('請輸入要注冊的用戶名') password_login=input('請輸入您的登錄密碼') user_id.append(user_login) for num in user_id: if num not in user_dict: user_dict[user_login]=password_login print('注冊成功') else: break else: print('感謝您的使用,程序將在5秒后退出') for i in range(1,5): time.sleep(1) print('程序將在{}秒后退出'.format(5-i)) break
感謝各位的閱讀!關于“Python如何實現注冊登錄功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。