Python实例题:Python百行制作登陆系统

目录

Python实例题

题目

[python-login-systemPython 百行登录系统脚本](#python-login-systemPython 百行登录系统脚本)

代码解释

用户数据库:

注册功能:

登录功能:

主程序:

运行思路

注意事项

Python实例题

题目

Python百行制作登陆系统

python-login-systemPython 百行登录系统脚本

python 复制代码
# 初始化用户数据库,使用字典存储用户名和密码
user_database = {}


def register():
    """
    用户注册功能
    """
    while True:
        username = input("请输入要注册的用户名: ")
        if username in user_database:
            print("该用户名已被注册,请选择其他用户名。")
        else:
            password = input("请输入密码: ")
            user_database[username] = password
            print("注册成功!")
            break


def login():
    """
    用户登录功能
    """
    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    if username in user_database and user_database[username] == password:
        print("登录成功!欢迎,", username)
    else:
        print("用户名或密码错误,请重试。")


def main():
    """
    主程序,提供操作菜单
    """
    while True:
        print("\n--- 登录系统 ---")
        print("1. 注册")
        print("2. 登录")
        print("3. 退出")
        choice = input("请输入你的选择 (1/2/3): ")
        if choice == '1':
            register()
        elif choice == '2':
            login()
        elif choice == '3':
            print("感谢使用,再见!")
            break
        else:
            print("无效的选择,请重新输入。")


if __name__ == "__main__":
    main()
    

代码解释

用户数据库:

  • 使用一个字典 user_database 来存储用户名和对应的密码。

注册功能:

  • register 函数会提示用户输入用户名和密码。
  • 检查用户名是否已存在于数据库中,如果存在则提示用户重新输入,否则将用户名和密码添加到数据库中。

登录功能:

  • login 函数会提示用户输入用户名和密码。
  • 检查输入的用户名和密码是否与数据库中的匹配,如果匹配则登录成功,否则提示错误信息。

主程序:

  • main 函数提供一个操作菜单,让用户可以选择注册、登录或退出。
  • 根据用户的选择调用相应的函数。

运行思路

  • 将上述代码保存为 login_system.py 文件。
  • 在终端中运行 python login_system.py。
  • 根据菜单提示输入相应的数字进行注册、登录或退出操作。

注意事项

  • 此示例只是一个简单的登录系统,实际应用中需要考虑更多的安全性问题,如密码加密、防止暴力破解等。
  • 用户数据仅在程序运行期间有效,程序关闭后数据会丢失。如果需要持久化存储用户数据,可以考虑使用文件或数据库。
相关推荐
Decay__2 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
茶栀(*´I`*)3 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
艺杯羹3 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
code2cat4 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
wuyk5556 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
乌暮7 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
小此方8 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
flash俊杰9 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
2501_9339232510 小时前
redis:string类型常见命令
数据库·redis·缓存
byte轻骑兵11 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb