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