day11 作业

# -*- coding: utf-8 -*-
'''
@author:yhh
@time:2023/2/28 8:47
'''

#一:今日作业:
#1、编写文件copy工具
# file1=input("请输入你的源文件:")
# file2=input("请输入你的源文件:")
# with open(r'file1',mode='rt',encoding='utf-8') as f1,\
#      open(r'file2',mode='wt',encoding='utf-8') as f2:
#      res=f1.read()
#      f2.write(res)


#2、编写登录程序,账号密码来自于文件
'''
name=input('请输入你的账号:')
password=input('请输入你的密码:')
with open(r'db.txt',mode='rt',encoding='utf-8') as f:
     # line=f.read()    这里不能读,如果读的话就会爆露所有的密码
     for line in f:
          user_name,user_pas=line.strip().split(':')
          if user_name==name and user_pas==password:
               print('successful')
               break
     else:
          print('fail')'''
#3、编写注册程序,账号密码来存入文件
# name=input('请输入你的账号:')
# pas=input('请输入你的密码:')
# with open('z1',mode='wt',encoding='utf-8') as f:
#      f.write('{}:{}\n'.format(name,pas))


#二:周末综合作业:
# 2.1:编写用户登录接口
#1、输入账号密码完成验证,验证通过后输出"登录成功"
#2、可以登录不同的用户
#3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)

# # name=input('your name>>: ')
# # pwd=input('your password>>: ')
# # with open('db.txt',mode='at',encoding='utf-8') as f:
# #     f.write('{}:{}\n'.format(name,pwd))         # 这四行代码是将密码存储在硬盘的文件夹里
# inp_user_name=input('your name:').strip()
# inp_user_pas=input('your password:').strip()
# with open('db.txt',mode="rt",encoding='utf-8') as f:
#     for line in f:
#         user_name,user_pas=line.strip().split(':')
#
#         if inp_user_name==user_name and inp_user_pas==user_pas:
#             print("登陆成功")
#             break
#     else:
#         print("登录失败")             #  将上面的四行代码和之前所写的登录模式结合在一起就能够做成一个注册,再登陆的系统



# 2.2:编写程序实现用户注册后(注册到文件中),可以登录(登录信息来自于文件)
# 提示:


# 获取用户输入的用户名和密码
flag = True
black_list = []
while flag:
    in_user = input('请输入用户名:').strip()
    in_pwd = input('请输入密码:').strip()

# 打开两个文件,可读写模式
#     with open('black_users.txt',mode='rt+',encoding='utf-8') as f1,\
#         open('db.txt',mode='rt',encoding='utf-8') as f2:
#         # 先判断是否在黑名单内,如果在,直接锁定,退出循环
#         for line in f1:
#             username = line.strip()
#             if username == in_user:
#                 print('抱歉您的账号被锁定')
#                 flag = False
#                 break
#         # 如果不在,则判断用户名、密码是否与已知的一致,一致则登陆成功
#         for line in f2:
#             username,password = line.strip().split(':')
#             if username == in_user and password == in_pwd:
#                 print('登陆成功')
#                 flag = False
#                 break
#         # 如果符合锁定条件,则开始计数,准备锁定账号
#             elif username == in_user and password != in_pwd:
#                  print('账号密码错误')
#                  black_list.append(in_user)
#                  # 同一个账号,密码输错三次则锁定
#                  if black_list.count(in_user) >= 3:
#                     flag = False
#                     print('抱歉,您的密码输错三次,账号已被锁定')
#                     username = in_user + '\n'
#                     f1.write(username)
#                     break




while True:
    msg = """
    0 退出
    1 登录
    2 注册
    """
    print(msg)
    cmd = input('请输入命令编号>>: ').strip()
    if not cmd.isdigit():
        print('必须输入命令编号的数字,傻叉')
        continue

    if cmd == '0':
        break
    elif cmd == '1':
        count=0
        while count<3:
            name=input('your name:')
            pas=input('your pas')
            with open('db.txt',mode='rt',encoding='utf-8') as f:
                for line in f:
                    user_name,user_pas=line.strip().split(':')
                    if name==user_name and pas==user_pas:
                        print('sucessful')
                        break
                else:
                    print('fail')
                    count+=1

        # 登录功能代码(附加:可以把之前的循环嵌套,三次输错退出引入过来)
        pass
    elif cmd == '2':
        # 注册功能代码
        pass
    else:
        print('输入的命令不存在')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值