第一个程序实现登录功能,密码输错三次封账号。

username = input("username:")    #输入用户名

f = open('user.db', "r")       #打开保存有用户名和密码的文件,r表示只读
d = open("deny.txt","r+")      #打开黑名单,r+表示可以在后面增加内容
#添加一个flag来做动作判断
flag = False
# 判断输入的用户名是否在黑名单中
if username in d.read().split():
    print('youre account has been locked.')
    d.close()
#如果不在黑名单中则判断是否在user.db文件中
else:
    for line in f:
        name = line.split()[0]
        passwd = line.split()[1]
        trytimes = 1
        while username == name:
            password = input('please input your password:')
            if password == passwd:
                flag = True
                print('Welcome %s!' % username)
                break
            #由于3次输错密码后要封账号,所以要判断是否已经试了3次了。
            elif trytimes == 3:
                #把密码输错3次的用户名写入deny.txt文档中
                flag = True
                d.write('\n%s'%username)
                print('you have try too many times, your account has been locked.')
                break
            else:
                trytimes = trytimes + 1
                print('Wrong password, please try again.')
                continue
if flag == False:
    print('no such user!')
    exit()
f.close()

 写程序之前一定要写流程图,然后根据流程图写程序。

 

转载于:https://www.cnblogs.com/jack410/p/6442590.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值