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