小白必看系列之图书管理系统-登录和注册功能示例代码

简介: 小白必看系列之图书管理系统-登录和注册功能示例代码

前言

在现代社会中,计算机科学和编程技术的重要性日益凸显。作为开发者和技术爱好者,我们时刻追求着创新和实用性,希望通过技术的力量改善人们的生活和工作。

本文将介绍一个简单的图书管理系统代码,它展示了一些基本的编程知识点和技术应用。通过分析这段代码,我们可以了解到变量的定义和赋值、字典的使用、循环结构、条件判断、字符串处理以及字典的遍历和查找等关键概念。

首先,我们将了解变量的定义和赋值的重要性,它们是代码中存储和操作数据的关键。我们还将深入研究字典的使用,它是一种常用的数据结构,用于存储和组织相关信息。通过学习循环结构和条件判断,我们可以实现程序的逻辑控制和流程控制,使代码能够根据不同情况执行不同的操作。

此外,字符串处理在编程中也具有重要作用。我们将看到如何输入、比较和输出字符串,以及如何进行字符串的拼接和格式化。最后,我们还将学习如何遍历字典并查找特定的键值对,以实现用户的存在验证。

通过本文的学习,我们可以提升自己的编程技能,了解到如何应用所学知识解决实际问题。同时,深入理解这段代码也有助于我们构建更复杂、更丰富的应用程序和系统。

让我们一起踏上编程之旅,探索技术的无限可能!无论你是初学者还是有经验的开发者,本文都将为你提供有价值的知识和启发。请继续阅读,开始你的编程之旅吧!

变量定义区域

# 定义变量区
n = 1
key = 0
index = 0  # 判断用户是否存在的索引
str1 = "0"  # 存储用户名
str_key = "0"  # 存储密码
users = {}
  • 在这部分代码中,我们定义了一些变量来存储用户相关信息。
  • n 表示用户编号,初始化为1。
  • key 用于接收用户输入的选项,初始化为0。
  • index 用于判断用户是否存在的索引,初始化为0。
  • str1 用于存储用户名,初始化为字符串"0"。
  • str_key 用于存储密码,初始化为字符串"0"。
  • users 是一个空字典,用于存储用户信息。

实体部分区域

# 实体部分区域
while 1:
    print("图书管理系统--\n")
    print("请登录后再使用\n")
    key = int(input("登录-1,若无账号请注册-3,按其余任意键退出\n"))
  • 这部分代码是程序的主体部分,使用一个无限循环来保持程序运行。
  • 首先打印出图书管理系统的欢迎信息和提示信息。
  • 用户输入选项,将其转换为整数型并赋值给变量 key

注册账号逻辑

if key == 3:
        n += 1
        print("请输入用户名和密码")
        str1 = input("用户名:")
        print("\n")
        str_key = input("密码:")
        users[n] = {
            "user_num": n,
            "name": str1,
            "keywords": str_key
        }
        print(users)
  • 如果用户选择的是选项3,表示用户希望注册新账号。
  • 自增用户编号 n,保证每个用户有唯一的编号。
  • 提示用户输入用户名和密码。
  • 用户输入的用户名保存到变量 str1 中。
  • 用户输入的密码保存到变量 str_key 中。
  • 将用户信息以字典的形式存储在 users 字典中,键为用户编号 n,值为一个包含用户相关信息的字典。
  • 打印出当前所有注册的用户信息。

用户登录逻辑

elif key == 1:
        print("请输入用户名")# 
        str2 = input("用户名:")
  • 如果用户选择的是选项1,表示用户希望登录。
  • 提示用户输入用户名,并将其保存到变量 str2 中。
index = 0  # 重置索引值
        for i, user in users.items():
            if str2 == user["name"]:
                index = i
                print(index)
                break
        if index == 0:
            print("请先注册")
            str3 = input("按下任意键跳转")
            continue
  • 重置索引值 index 为0,用于判断用户是否存在。
  • 通过遍历 users 字典,寻找匹配用户名的用户信息。
  • 如果找到匹配的用户,将其索引值保存到变量 index 中。
  • 如果索引值仍为0,则表示用户不存在。
  • 打印出提示信息,并继续下一次循环。
print("欢迎尊敬的" + str2 + "用户")
        print("请输入密码")
        while 1:
            key1 = input("密码: ")
            if key1 == users[index]["keywords"]:
                print("登录成功")
                break
            else:
                print("请重新输入")
  • 如果用户存在,打印欢迎信息和提示用户输入密码。
  • 进入一个无限循环,直到用户输入正确的密码或选择退出。
  • 提示用户输入密码,并将其保存到变量 key1 中。
  • 如果输入的密码与对应用户的密码匹配,则打印登录成功信息,并跳出循环。
  • 否则,提示用户重新输入密码。

退出程序

else:
        break
  • 如果用户选择的既不是注册也不是登录,即选择其他选项,跳出循环。

打印用户信息

print(users)
  • 循环结束后打印出当前所有注册的用户信息。

完整代码

# 定义变量区
n = 1  # 用户计数器,用于生成用户编号
key = 0  # 用户登录注册选择
index = 0  # 判断用户是否存在的索引
str1 = "0"  # 存储正在注册的用户名
str_key = "0"  # 存储正在注册的密码
users = {}  # 存储用户信息的字典
# 实体部分区域
while 1:
    print("图书管理系统--\n")
    print("请登录后再使用\n")
    key = int(input("登录-1,若无账号请注册-3,按其余任意键退出\n"))  # 用户选择登录、注册或退出
    if key == 3:  # 注册账号
        n += 1  # 用户计数器自增,生成新的用户编号
        print("请输入用户名和密码")
        str1 = input("用户名:")  # 输入注册用户名
        print("\n")
        str_key = input("密码:")  # 输入注册密码
        users[n] = {  # 将用户信息添加到字典中,以用户编号为键,用户名和密码为值
            "user_num": n,
            "name": str1,
            "keywords": str_key
        }
        print(users)  # 打印存储的用户信息
    elif key == 1:  # 登录账号
        print("请输入用户名")
        str2 = input("用户名:")  # 输入登录用户名
        index = 0  # 重置索引值
        for i, user in users.items():  # 遍历用户字典
            if str2 == user["name"]:  # 判断输入的用户名是否存在
                index = i  # 若存在,将索引值设为对应的用户编号
                print(index)  # 打印用户编号
                break  # 跳出循环
        if index == 0:  # 用户不存在
            print("请先注册")
            str3 = input("按下任意键跳转")  # 提示用户跳转
            continue  # 继续循环,回到登录、注册选择界面
        print("欢迎尊敬的"+str2+"用户")  # 提示用户登录成功
        print("请输入密码")
        while 1:  # 循环输入密码
            key1 = input("密码: ")
            if key1 == users[index]["keywords"]:  # 判断输入的密码是否正确
                print("登录成功")
                break  # 登录成功,跳出循环
            else:
                print("请重新输入")
    else:
        break  # 用户选择退出,结束循环
print(users)  # 打印所有用户信息

完结

该代码的主要功能是实现一个图书管理系统的登录和注册功能。用户可以选择登录已有账号或者注册新的账号。用户信息存储在一个字典中,以用户编号为键,用户名和密码为值。用户登录时需要输入用户名和密码,系统会验证输入的用户名和密码是否匹配。如果用户不存在,则提示用户注册账号。注册时需要输入用户名和密码,系统会为用户分配一个唯一的用户编号。最后,代码打印了存储的所有用户信息。

相关文章
|
6月前
|
前端开发 Java 数据库连接
JavaWeb:登录注册功能实现
JavaWeb 登录注册是一种常见的网站开发功能,使用 Java 编程语言和 Web 技术来实现用户注册和登录功能
101 3
|
5月前
|
前端开发 JavaScript 程序员
程序员必知:完成登录与注册页面的前端
程序员必知:完成登录与注册页面的前端
19 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之3
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之3
43 0
|
11月前
|
存储 小程序 关系型数据库
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题
104 0
|
12月前
Axure快速入门(02) - 入门例子(登录案例)
Axure快速入门(02) - 入门例子(登录案例)
61 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之2
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之2
55 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之1
前端学习笔记202305学习笔记第二十二天-登录方法封装和404之1
48 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-登录页进阶验证1
前端学习笔记202305学习笔记第二十二天-登录页进阶验证1
47 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-登录页进阶验证2
前端学习笔记202305学习笔记第二十二天-登录页进阶验证2
57 0
|
Java 测试技术 数据安全/隐私保护
用Java代码实现学生管理系统(可实现用户登录注册功能)
用Java代码实现学生管理系统(可实现用户登录注册功能)
591 0