脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 用Python实现一个简单的用户系统

用Python实现一个简单的用户系统

2022-09-01 09:28火萤 Python

大家好,本篇文章主要讲的是用Python实现一个简单的用户系统,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

前言

 如标题所说,这是一个非常简单的程序,并不涉及任何高深的学问,更适合一些刚入手Python的新人研究一下基础内容的用法,此案列对于有些编程经验的人来讲可以说是过于简单,甚至是简陋。

本文涉及的知识点:列表、字典、用户输入、程序输出。

关于程序的一些设计:

相关的功能:用户登入,用户注册,用户信息修改

用Python实现一个简单的用户系统

正文

首先我们来写程序的大体框架,然后我们再按照我们的需求往里面填充其他功能。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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()  # 调用程序开始界面来显示信息

接下里我们在来完善用户选择检测、用户登入、及用户信息检查这三个界面,按照流程来是先打印界面——>用户做出选择——>登入或者注册;

首先是用户选择的代码

?
1
2
3
4
5
6
7
8
9
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则提示错误并重新选择。

接下来是用户登入界面的代码了。

?
1
2
3
4
5
6
def log_in():  # 用户登入
    username = input('请输入用户名: ')
    password = input('请输入密码: ')
    # 首先获取用户输入的用户名以及密码,然后传递check_user_information(username,password)
    check_user_information(username, password)
    # 在这里修改了一下用户信息检查的代码,加入了2个需要传递的参数。

然后就是检查的代码了

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 = # 成功获取用户序列
            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的值

然后我们来完成用户注册的代码

?
1
2
3
4
5
6
7
8
9
10
def sign_up():  # 用户注册
    username = input('请输入用户名: ')
    password = input('请输入密码: ')
    # 首先让用户输入要注册的账号和密码
    user_name_['name'] = username
    user_name_['password'] = password
    # 将账号密码先写入字典再写入列表
    user_name.append(user_name_)
    print('注册成功,即将返回选择界面')
    user_selection()  # 接着再返回用户选择

最后就是用户信息修改了,超级简单

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)

总结

非常简单,接下来贴出全部代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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 = # 成功获取用户序列
            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()  # 调用程序开始界面来显示信息

到此这篇关于用Python实现一个简单的用户系统的文章就介绍到这了,更多相关Python用户系统内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

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

延伸 · 阅读

精彩推荐
  • Pythonpython实现局部图像放大

    python实现局部图像放大

    这篇文章主要介绍了python实现局部图像放大,画中画形式展示,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    qq_336872727862022-03-02
  • PythonPython生成器(Generator)详解

    Python生成器(Generator)详解

    这篇文章主要介绍了Python生成器(Generator)详解,本文讲解了什么是生成器、简单生成器、带yield 语句的生成器、加强的生成器等内容,需要的朋友可以参考...

    Python教程网25252020-06-04
  • PythonPython 探针的实现原理

    Python 探针的实现原理

    本文将简单讲述一下 Python 探针的实现原理。 同时为了验证这个原理,我们也会一起来实现一个简单的统计指定函数执行时间的探针程序。...

    mozillazg3312020-08-20
  • PythonPython EOL while scanning string literal问题解决方法

    Python EOL while scanning string literal问题解决方法

    这篇文章主要介绍了Python EOL while scanning string literal问题解决方法,本文总结出是数据库数据出现问题导致这个问题,需要的朋友可以参考下 ...

    Python教程网57042020-06-15
  • Pythonpython绘制三维图的详细新手教程

    python绘制三维图的详细新手教程

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,下面这篇文章主要给大家介绍了关于python绘制三维图的相关资料,文中通过图文介绍...

    桂。8432022-08-30
  • PythonPython浮点型(float)运算结果不正确的解决方案

    Python浮点型(float)运算结果不正确的解决方案

    这篇文章主要介绍了Python浮点型(float)运算结果不正确的解决方案,帮助大家更好的利用python进行运算处理,感兴趣的朋友可以了解下...

    诸子流12272020-09-23
  • Python使用python制作一个为hex文件增加版本号的脚本实例

    使用python制作一个为hex文件增加版本号的脚本实例

    今天小编就为大家分享一篇使用python制作一个为hex文件增加版本号的脚本实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    北极熊的脖子11302021-07-11
  • Pythonpython矩阵的转置和逆转实例

    python矩阵的转置和逆转实例

    今天小编就为大家分享一篇python矩阵的转置和逆转实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    zhengjuNEW5682021-04-29