前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小白必看系列之图书管理系统-登录和注册功能示例代码

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

作者头像
全栈若城
发布2024-02-29 19:29:09
2770
发布2024-02-29 19:29:09
举报
文章被收录于专栏:若城技术专栏

前言

在现代社会中,计算机科学和编程技术的重要性日益凸显。作为开发者和技术爱好者,我们时刻追求着创新和实用性,希望通过技术的力量改善人们的生活和工作。 本文将介绍一个简单的图书管理系统代码,它展示了一些基本的编程知识点和技术应用。通过分析这段代码,我们可以了解到变量的定义和赋值、字典的使用、循环结构、条件判断、字符串处理以及字典的遍历和查找等关键概念。 首先,我们将了解变量的定义和赋值的重要性,它们是代码中存储和操作数据的关键。我们还将深入研究字典的使用,它是一种常用的数据结构,用于存储和组织相关信息。通过学习循环结构和条件判断,我们可以实现程序的逻辑控制和流程控制,使代码能够根据不同情况执行不同的操作。 此外,字符串处理在编程中也具有重要作用。我们将看到如何输入、比较和输出字符串,以及如何进行字符串的拼接和格式化。最后,我们还将学习如何遍历字典并查找特定的键值对,以实现用户的存在验证。 通过本文的学习,我们可以提升自己的编程技能,了解到如何应用所学知识解决实际问题。同时,深入理解这段代码也有助于我们构建更复杂、更丰富的应用程序和系统。 让我们一起踏上编程之旅,探索技术的无限可能!无论你是初学者还是有经验的开发者,本文都将为你提供有价值的知识和启发。请继续阅读,开始你的编程之旅吧!

变量定义区域

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

实体部分区域

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

注册账号逻辑

代码语言:javascript
复制
    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,值为一个包含用户相关信息的字典。
  • 打印出当前所有注册的用户信息。

用户登录逻辑

代码语言:javascript
复制
    elif key == 1:
        print("请输入用户名")# 
        str2 = input("用户名:")
  • 如果用户选择的是选项1,表示用户希望登录。
  • 提示用户输入用户名,并将其保存到变量 str2 中。
代码语言:javascript
复制
        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,则表示用户不存在。
  • 打印出提示信息,并继续下一次循环。
代码语言:javascript
复制
        print("欢迎尊敬的" + str2 + "用户")
        print("请输入密码")
        while 1:
            key1 = input("密码: ")
            if key1 == users[index]["keywords"]:
                print("登录成功")
                break
            else:
                print("请重新输入")
  • 如果用户存在,打印欢迎信息和提示用户输入密码。
  • 进入一个无限循环,直到用户输入正确的密码或选择退出。
  • 提示用户输入密码,并将其保存到变量 key1 中。
  • 如果输入的密码与对应用户的密码匹配,则打印登录成功信息,并跳出循环。
  • 否则,提示用户重新输入密码。

退出程序

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

打印用户信息

代码语言:javascript
复制
print(users)
  • 循环结束后打印出当前所有注册的用户信息。

完整代码

代码语言:javascript
复制
# 定义变量区
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)  # 打印所有用户信息

完结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 变量定义区域
  • 实体部分区域
  • 注册账号逻辑
  • 用户登录逻辑
  • 退出程序
  • 打印用户信息
  • 完整代码
  • 完结
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档