编程程序,用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。")
登录界面: