m0_70910030 2022-11-16 11:58 采纳率: 93.7%
浏览 18
已结题

python实现增删查问题如何优化?

用python实现用户增删查问题:
背景:用户列表和密码列表如下所示
补充程序,实现对用户和密码列表进行增加、删除、查询。
程序显示菜单如下
请选择
1 用户增加
2 用户删除
3 用户查询
4 退出系统

当用户输入1
输入用户姓名和密码后,若用户在列表中,显示用户已存在 无法增加。
若不存在,则将用户名和密码追加到相应的列表中。并显示用户已增加。

当用户输入2
输入用户姓名后,
若用户不在列表中,显示用户不存在 不能删除。若在列表中,则将用户名和密码删除,并显示用户已删除。

当用户输入3
输入用户姓名后,
若用户不在列表中,显示用户不存在 不能查询。若在列表中,则显示密码。

当用户输入4,则退出循环

yhlb=["mary","harry","mike","tom","rose"]
mmlb=["123456","888888","999999","765432","678901"]
print("请选择
1 用户增加
2 用户删除
3 用户查询
4 查看数据,退出系统")
#代码开始
while True:
    cmd=input("请输入")
    if cmd=="4":
        break
    elif cmd=="1":
        name=input("请输入用户名")
        passwd=input("请输入密码")
        if name in yhlb:
            print("用户已经存在 无法增加")
        else:
            yhlb.append(name)
            mmlb.append(passwd)
            print("用户已增加")
    elif cmd=="2":
        name=input("请输入用户名")
        if name in yhlb:
            index=-1
            for i in range(len(yhlb)):
                if yhlb[i]==name:
                    index=i
                    break
            yhlb.pop(index)
            mmlb.pop(index)
            print("用户已删除")
        else:
            print("用户不存在 无法删除")
    elif cmd=="3":
        name=input("请输入用户名")
        if name in yhlb:
            index=-1
            for i in range(len(yhlb)):
                if yhlb[i]==name:
                    index=i
                    break
            print(mmlb[index])
        else:
            print("用户不存在")
        
    else:
        
        print("输入有误,请输入1~4")
#代码结束
for i in range(0,len(yhlb)):
    print("用户名{:6}密码{:6}".format(yhlb[i],mmlb[i]))

如何改进才能实现以下功能:

请选择
1 用户增加
2 用户删除
3 用户查询
4 查看数据,退出系统
请输入请输入用户名用户不存在
请输入请输入用户名密码123456
请输入用户名mary  密码123456
用户名harry 密码888888
用户名mike  密码999999
用户名tom   密码765432
用户名rose  密码678901

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-11-16 12:43
    关注

    原来的代码不行吗?看要求没什么特殊的,除了菜单第四项少了查看数据。不存在时是要加上输入的用户名?

    yhlb=["mary","harry","mike","tom","rose"]
    mmlb=["123456","888888","999999","765432","678901"]
    print("""请选择
    1 用户增加
    2 用户删除
    3 用户查询
    4 查看数据,退出系统""")
    #代码开始
    while True:
        cmd=input()
        if cmd=="4":
            for i in range(0,len(yhlb)):
                print("用户名{:6}密码{:6}".format(yhlb[i],mmlb[i]))
            break
        elif cmd=="1":
            name=input('请输入用户名密码:')
            passwd=input()
            if name  in yhlb:
                print('%s用户已存在 无法增加'%name)
            else:
                yhlb.append(name)
                mmlb.append(passwd)
                print('用户已增加')
        elif cmd=="2":
            name=input('请输入用户名:')
            if name in yhlb:
                index=-1
                for i in range(len(yhlb)):
                    if yhlb[i]==name:
                        index=i
                        break
                yhlb.pop(index)
                mmlb.pop(index)
                print('用户已删除')
            else:
                print('%s用户不存在'%name)
        elif cmd=="3":
            name=input('请输入用户名:')
            if name in yhlb:
                index=-1
                for i in range(len(yhlb)):
                    if yhlb[i]==name:
                        index=i
                        break
                print('密码%s'%mmlb[index])
            else:
                print('%s用户不存在'%name)
        else:
            print('输入值有误,请输入1~4')
    #代码结束
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月24日
  • 已采纳回答 11月16日
  • 创建了问题 11月16日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)