用户登录(字典)

项目场景:

实验课作业

问题描述:

用户登陆系统时需要首先输入账号,如果账号不存在,输出“Wrong User”并结束程序;账号正确时,再输入密码,验证账号密码与已给定的账号密码是否一致,如果一致,输出“Success”,否则输出“Fail”以及剩余尝试次数。总尝试次数为3次,如果3次均输入错误,输出“Login Denied”。

在这里插入图片描述


原因分析:

代码一由于键对应的值是一个一维列表,数据处理起来比较复杂,
可以用keys()获取键,用values()获取值,但是要转换为列表,方便使用
因为他们返回的不是列表

dic = {"aaa": ["123456", 10000], "bbb": ["888888", 5000], "ccc": ["333333", 3000]}
dic.keys()
print(dic.keys())
print(dic.values())
print(list(dic.keys()))
print(list(dic.values()))

在这里插入图片描述

代码二,由于键值只用了一个所以我们建立字典的时候只使用一个就行了,这样编程就变得很简单了。


解决方案:

代码一:

dic = {"aaa": ["123456", 10000], "bbb": ["888888", 5000], "ccc": ["333333", 3000]}
flag = 3
account = input()
if account in dic:
    while(flag > 0):
        # 用户1
        if account == list(dic.keys())[0]:
            mima = input()
            if mima == list(dic.values())[0][0]:
                print("Success")
                break
            else:
                flag = flag - 1
                if flag > 0:
                    print("Fail,{} Times Left".format(flag))

        # 用户2
        elif account == list(dic.keys())[1]:
            mima = input()
            if mima == list(dic.values())[1][0]:
                print("Success")
                break
            else:
                flag = flag - 1
                if flag > 0:
                    print("Fail,{} Times Left".format(flag))

        # 用户3
        elif account == list(dic.keys())[2]:
            mima = input()
            if mima == list(dic.values())[2][0]:
                print("Success")
                break
            else:
                flag = flag - 1
                if flag > 0:
                    print("Fail,{} Times Left".format(flag))
        else:
            print("Wrong User")
            break
    if flag == 0:
        print("Login Denied")

代码二

dic={"aaa":'123456',"bbb":'888888',"ccc":'333333'}
x=3
n=input()
if n in dic:
    while x>0:
        a=input()
        if a==dic[n]:
            print("Success")
            break
        else:
            x-=1
            if x>0:
                print("Fail,{} Times Left".format(x))
    if x==0:
        print("Login Denied")
else:
    print("Wrong User")

知识点:
keys()和values()函数

dic = {"aaa": ["123456", 10000], "bbb": ["888888", 5000], "ccc": ["333333", 3000]}
dic.keys()
print(dic.keys())
print(dic.values())
print(list(dic.keys()))
print(list(dic.values()))

在这里插入图片描述

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super.Bear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值