python字典第一项无法访问的问题

自动创建字典,并进行查找,但是会出现一个问题,字典中第一项无法被识别(用相同的数据添加过2个两项)
代码如下

# 定义变量区
n = 0
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("密码:")
        # 注意此时不从0开始,从1开始
        users[n] = {
            "user_num": n,
            "name": str1,
            "keywords": str_key
        }
        print(users)
    elif key == 1:
        print("请输入用户名")
        str2 = input("用户名")
        # 判断用户是否存在
        for i in range(1,len(users)):
            if str2 == users[i]["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)

会出现如图所示问题

img

修改后运行效果如下, 如有帮助给个采纳谢谢, 稍后我会将代码分析发到博客,如有不解的地方可以看下. 另外我正在参加一个比赛 , 希望你可以顺手来个一键三连谢谢 地址 https://blog.csdn.net/qq_33681891/article/details/131889556

效果:

/Users/chengruo/PycharmProjects/study/venv/bin/python /Users/chengruo/PycharmProjects/study/问答.py 
图书管理系统--

请登录后再使用

登录-1,若无账号请注册-3,按其余任意键退出
1
请输入用户名
用户名:rc
请先注册
按下任意键跳转3
图书管理系统--

请登录后再使用

登录-1,若无账号请注册-3,按其余任意键退出
3
请输入用户名和密码
用户名:rc


密码:123
{2: {'user_num': 2, 'name': 'rc', 'keywords': '123'}}
图书管理系统--

请登录后再使用

登录-1,若无账号请注册-3,按其余任意键退出
1
请输入用户名
用户名:rc
2
欢迎尊敬的rc用户
请输入密码
密码: 123
登录成功
图书管理系统--

请登录后再使用

登录-1,若无账号请注册-3,按其余任意键退出
3
请输入用户名和密码
用户名:rc


密码:123
{2: {'user_num': 2, 'name': 'rc', 'keywords': '123'}, 3: {'user_num': 3, 'name': 'rc', 'keywords': '123'}}
图书管理系统--

请登录后再使用

登录-1,若无账号请注册-3,按其余任意键退出

修改后代码

# 定义变量区
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)

创建2个相同的项之后才可以查找到

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^