網站首頁 編程語言 正文
前言
?如標題所說,這是一個非常簡單的程序,并不涉及任何高深的學問,更適合一些剛入手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
相關推薦
- 2022-11-21 詳解Go語言中的內存對齊_Golang
- 2022-08-23 iOS底層探索之自動釋放池原理解析_IOS
- 2022-06-28 Python技法之如何用re模塊實現簡易tokenizer_python
- 2022-03-20 C#中實現PriorityQueue優先級隊列的代碼_C#教程
- 2023-01-19 C++深度探索虛函數指針示例_C 語言
- 2024-07-15 GIT同步修改后的遠程分支
- 2022-10-15 Docker數據卷掛載命令volume(-v)與mount的使用總結_docker
- 2022-10-06 python中關于對super()函數疑問解惑_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支