Python用户系统
火萤 人气:0前言
如标题所说,这是一个非常简单的程序,并不涉及任何高深的学问,更适合一些刚入手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() # 调用程序开始界面来显示信息
加载全部内容