python初学者,完全没有思路,照着网上资料打的,并修改了点bug。
unlock.py

import pickle
# 初始化用户以及密码
with open('account.pkl','rb') as f:
    list = pickle.load(f)
    print(list)
user_dict = {'admin':{'passwd':'admin','flag':'unlock'},'yefei':{'passwd':'abc','flag':'unlock'}}

# 把账号、密码保存到文件中
with open('account.pkl','wb') as f:
    pickle.dump(user_dict, f)

logIn.py

import os
import pickle
import random

with open('account.pkl','rb') as count:
    user_dict = pickle.load(count)

exit_flag = False
count_lock = 0

print('-----------------------')

while True:
    if count_lock == 3:
        break
    user = input('请输入账号:').strip()
    if user == '': continue
    if user_dict.get(user):
        if user_dict[user]['flag'] == 'lock':
            print('账号已经锁定,请解锁!')
            break
        while count_lock < 3:
            if exit_flag == True:
                break
            passwd = input('请输入密码: ').strip()
            if user_dict[user]['passwd'] == passwd:
                while True:
                    guess_choice = input('你要开始玩猜数字游戏么?(选择ues或no):').strip()
                    if  guess_choice == '': continue
                    elif guess_choice == "yes":
                        print('欢迎登陆python自动化开发--猜数字系统')
                        print('----------------------------------')
                        print('猜数字范围在1到10之间.')
                        real_num = random.randrange(1,11)
                        retry_count = 0
                        while retry_count < 3:
                            guess_num = input('请输入你猜的数字: ').strip()
                            if guess_num == '': continue
                            if guess_num.isdigit():
                                guess_num = int(guess_num)
                                if guess_num > real_num:
                                    print('错误,请输入一个小一点的数字')
                                elif guess_num < real_num:
                                    print("错误,请输入一个大一点的数字")
                                else:
                                    print('恭喜你,猜到数字 %s !!!' % real_num )
                                    break
                            else:
                                print('输入的不是数字,请重新输入一个数字')
                                continue
                            retry_count += 1
                        else:
                            print('哦哦,幸运数字是 %s, 下次肯定会猜中的哦!' % real_num )
                            print('--------------------------------------')
                    elif guess_choice == 'no':
                        print('欢迎登陆!')
                        exit_flag = True
                        break
                    else:
                        print('你输入的不是yes或者no,请重新输入。')
                        continue
            else:
                count_lock += 1
                if (3 - count_lock):
                    print('密码错误,还有 %s 次机会尝试登陆!' % (3-count_lock))
            if count_lock == 3:
                with open('account.pkl','wb') as count:
                    user_dict[user]['flag'] = "lock"
                    user_dict = pickle.dump(user_dict,count)
                    print('----------------------------------------')
                    print('账号已被锁定,请解锁')
                    break
    else:
        print('输入的账号不存在,请重新输入!')
        continue

    if exit_flag:
        break
print('bye bye!')
收藏 打印