[]½[] 2023-07-25 15:38 采纳率: 66.7%
浏览 2
已结题

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

  • 写回答

3条回答 默认 最新

  • 全栈若城 全栈领域优质创作者 2023-07-25 15:55
    关注

    修改后运行效果如下, 如有帮助给个采纳谢谢, 稍后我会将代码分析发到博客,如有不解的地方可以看下. 另外我正在参加一个比赛 , 希望你可以顺手来个一键三连谢谢 地址 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条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上