日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

用Python實現一個簡單的用戶系統_python

作者:火螢 ? 更新時間: 2022-04-06 編程語言

前言

?如標題所說,這是一個非常簡單的程序,并不涉及任何高深的學問,更適合一些剛入手Python的新人研究一下基礎內容的用法,此案列對于有些編程經驗的人來講可以說是過于簡單,甚至是簡陋。

本文涉及的知識點:列表、字典、用戶輸入、程序輸出。

關于程序的一些設計:

相關的功能:用戶登入,用戶注冊,用戶信息修改

正文

首先我們來寫程序的大體框架,然后我們再按照我們的需求往里面填充其他功能。

user_name = []  # 聲明一個列表來保存下面那個字典user_name_
user_name_ = {
    'name': '',
    'password': ''
}  # 聲明一個用來保存賬號信息的字典
user_id = -1  # 用戶序列號
 
 
def start():  # 程序開始界面
    print('----------用戶登入程序----------')
    print('|    溫馨提示:用戶名不可以過長   |')
    print('|    密碼請記牢,暫時不支持找回   |')
    print('------------------------------')
    user_selection()
 
 
def user_selection(): # 用戶選擇需要進行的操作
    pass  # pass用來占行,防止不寫內容報錯
    
 
def log_in():  # 用戶登入
    pass
 
 
def sign_up():  # 用戶注冊
    pass
 
 
def check_user_information():  # 用戶信息檢查
    pass
 
 
def modify_information():  # 修改信息
    pass
 
 
start()  # 調用程序開始界面來顯示信息

接下里我們在來完善用戶選擇檢測、用戶登入、及用戶信息檢查這三個界面,按照流程來是先打印界面——>用戶做出選擇——>登入或者注冊;

首先是用戶選擇的代碼

def user_selection():  # 用戶選擇需要進行的操作
    selection = input('1.登入 2.注冊 (輸入數字即可,例如1): ')
    if selection == '1':  # 判斷是否為1
        log_in()
    elif selection == '2':  # 判斷是否為2,或者不是其中的任何選擇
        sign_up()
    else:
        print('您輸入的并不是1或者2,請重新輸入!')
        user_selection()

用戶選擇為1則調用log_in()來繼續用戶登入行為,為2則是用戶注冊行為,不為1或2則提示錯誤并重新選擇。

接下來是用戶登入界面的代碼了。

def log_in():  # 用戶登入
    username = input('請輸入用戶名: ')
    password = input('請輸入密碼: ')
    # 首先獲取用戶輸入的用戶名以及密碼,然后傳遞check_user_information(username,password)
    check_user_information(username, password)
    # 在這里修改了一下用戶信息檢查的代碼,加入了2個需要傳遞的參數。

然后就是檢查的代碼了

def check_user_information(username_, password_):  # 用戶信息檢查,username和password后面的_僅僅為了方便區分.
    global user_id  # 引用函數外的變量
    for i in range(len(user_name)):  # 遍歷全部的用戶信息
        if user_name[i]['name'] == username_ and user_name[i]['password'] == password_:  # 如果登入成功
            print('登入成功')
            user_id = i  # 成功獲取用戶序列
            break  # 結束循環
    if not user_id == -1:  # 通過user_id來判斷是否成功登入,如果不等于-1則登入成功 if not 如果不 也可以寫 if user_id != -1
        # 登入成功
        modify_information(user_id)  # 進入信息修改界面來改賬號或者密碼,傳入user_id方便查找
    else:
        # 登入失敗
        print('賬號密碼錯誤或賬號不存在。')
        user_selection()  # 返回用戶選擇
    # user_name[i]['name'] 的意思是先獲取 列表user_name[i] 所保存的字典user_name_,然后再查看字典里name的值

然后我們來完成用戶注冊的代碼

def sign_up():  # 用戶注冊
    username = input('請輸入用戶名: ')
    password = input('請輸入密碼: ')
    # 首先讓用戶輸入要注冊的賬號和密碼
    user_name_['name'] = username
    user_name_['password'] = password
    # 將賬號密碼先寫入字典再寫入列表
    user_name.append(user_name_)
    print('注冊成功,即將返回選擇界面')
    user_selection()  # 接著再返回用戶選擇

最后就是用戶信息修改了,超級簡單

def modify_information(user_id_):  # 修改信息
    global user_id
    selection = input('1.修改賬號 2.修改密碼 3.退出登入 (輸入數字即可,例如1):')
    if selection == '1':
        user_name[int(user_id_)]['name'] = input('輸入新的賬號')  # user_id是字符串要int一下
        user_id = -1
        start()  # 返回最開始
    elif selection == '2':
        user_name[int(user_id_)]['password'] = input('輸入新的密碼')
        user_id = -1
        start()
    elif selection == '3':
        user_id = -1
        start()
    else:
        print('您輸入的似乎并不是其中的選項請重新輸入')
        modify_information(user_id)

總結

非常簡單,接下來貼出全部代碼

user_name = []  # 聲明一個列表來保存下面那個字典user_name_
user_name_ = {
    'name': '',
    'password': ''
}  # 聲明一個用來保存賬號信息的字典
user_id = -1  # 用戶序列號
 
 
def start():  # 程序開始界面
    print('----------用戶登入程序----------')
    print('|    溫馨提示:用戶名不可以過長   |')
    print('|    密碼請記牢,暫時不支持找回   |')
    print('------------------------------')
    user_selection()
 
 
def user_selection():  # 用戶選擇需要進行的操作
    selection = input('1.登入 2.注冊 (輸入數字即可,例如1): ')
    if selection == '1':  # 判斷是否為1
        log_in()
    elif selection == '2':  # 判斷是否為2,或者不是其中的任何選擇
        sign_up()
    else:
        print('您輸入的并不是1或者2,請重新輸入!')
        user_selection()
 
 
def log_in():  # 用戶登入
    username = input('請輸入用戶名: ')
    password = input('請輸入密碼: ')
    # 首先獲取用戶輸入的用戶名以及密碼,然后傳遞check_user_information(username,password)
    check_user_information(username, password)
    # 在這里修改了一下用戶信息檢查的代碼,加入了2個需要傳遞的參數。
 
 
def sign_up():  # 用戶注冊
    username = input('請輸入用戶名: ')
    password = input('請輸入密碼: ')
    # 首先讓用戶輸入要注冊的賬號和密碼
    user_name_['name'] = username
    user_name_['password'] = password
    # 將賬號密碼先寫入字典再寫入列表
    user_name.append(user_name_)
    print('注冊成功,即將返回選擇界面')
    user_selection()  # 接著再返回用戶選擇
 
 
def check_user_information(username_, password_):  # 用戶信息檢查,username和password后面的_僅僅為了方便區分.
    global user_id  # 引用函數外的變量
    for i in range(len(user_name)):  # 遍歷全部的用戶信息
        if user_name[i]['name'] == username_ and user_name[i]['password'] == password_:  # 如果登入成功
            print('登入成功')
            user_id = i  # 成功獲取用戶序列
            break  # 結束循環
    if not user_id == -1:  # 通過user_id來判斷是否成功登入,如果不等于-1則登入成功 if not 如果不 也可以寫 if user_id != -1
        # 登入成功
        modify_information(user_id)  # 進入信息修改界面來改賬號或者密碼,傳入user_id方便查找
    else:
        # 登入失敗
        print('賬號密碼錯誤或賬號不存在。')
        user_selection()  # 返回用戶選擇
    # user_name[i]['name'] 的意思是先獲取 列表user_name[i] 所保存的字典user_name_,然后再查看字典里name的值
 
 
def modify_information(user_id_):  # 修改信息
    global user_id
    selection = input('1.修改賬號 2.修改密碼 3.退出登入 (輸入數字即可,例如1):')
    if selection == '1':
        user_name[int(user_id_)]['name'] = input('輸入新的賬號')  # user_id是字符串要int一下
        user_id = -1
        start()  # 返回最開始
    elif selection == '2':
        user_name[int(user_id_)]['password'] = input('輸入新的密碼')
        user_id = -1
        start()
    elif selection == '3':
        user_id = -1
        start()
    else:
        print('您輸入的似乎并不是其中的選項請重新輸入')
        modify_information(user_id)
 
 
start()  # 調用程序開始界面來顯示信息

原文鏈接:https://blog.csdn.net/qq_23186711/article/details/122655277

欄目分類
最近更新