python编程题-登录界面

编程程序,用python语言实现用户登录界面。

分析:

1.用户登录功模块分为管理员登录和普通用户登录,在用户使用软件时,系统会先判断用户是否为首次使用:若是首次使用,则进行初始化,否则进入用户类型选择。

2.用户类型分为管理员和普通用户两种,若选择管理员,则直接进行登录;若选择普通用户,先询问用户是否需要注册,若需要注册,先注册用户再进行登录。

代码:

import json

def initialize():
    # 初始化用户信息,保存到 user.json 文件
    user_data = {
        "admin": {"password": "admin123", "user_type": "admin"},
        "user1": {"password": "user123", "user_type": "normal"},
    }
    with open("user.json", "w") as file:
        json.dump(user_data, file)

def login(username, password):
    # 从 user.json 文件中读取用户信息
    with open("user.json", "r") as file:
        user_data = json.load(file)

    # 判断用户是否存在
    if username in user_data:
        # 判断密码是否正确
        if user_data[username]["password"] == password:
            print(f"欢迎, {username}!您已成功登录,用户类型为 {user_data[username]['user_type']}。")
        else:
            print("密码错误,请重试。")
    else:
        print("用户不存在,请检查用户名。")

def register():
    # 注册新用户
    username = input("请输入用户名:")
    password = input("请输入密码:")

    # 检查用户名是否已存在
    with open("user.json", "r") as file:
        user_data = json.load(file)
        if username in user_data:
            print("用户名已存在,请选择不同的用户名。")
            return

    # 添加新用户信息
    user_data[username] = {"password": password, "user_type": "normal"}
    with open("user.json", "w") as file:
        json.dump(user_data, file)

    print("注册成功。您现在可以登录了。")

# 判断是否首次使用
try:
    with open("user.json", "r") as file:
        user_data = json.load(file)
except FileNotFoundError:
    initialize()
    print("首次使用,初始化完成。")

# 用户类型选择
print("用户类型选择:")
print("1. 管理员")
print("2. 普通用户")

choice = input("请输入您的选择 (1 或 2):")

if choice == "1":
    # 管理员登录
    admin_username = "admin"
    admin_password = input("请输入管理员密码:")
    login(admin_username, admin_password)
elif choice == "2":
    # 普通用户登录或注册
    username = input("请输入您的用户名:")
    password = input("请输入您的密码:")

    # 判断用户是否存在
    with open("user.json", "r") as file:
        user_data = json.load(file)
        if username in user_data:
            login(username, password)
        else:
            print("用户不存在。")
            register_choice = input("是否注册新账户?(是/否):")
            if register_choice.lower() == "是":
                register()
else:
    print("无效的选择,请输入 1 或 2。")

登录界面:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值