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

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()

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

 

posted @ 2017-02-25 19:54  jack410  阅读(365)  评论(0编辑  收藏  举报