• 作业day11


    2020-06-15

    # 1、编写文件修改功能,调用函数时,传入三个参数(修改的文件路径,要修改的内容,修改后的内容)既可完成文件的修改

    def modify(file_path, old_contents, new_contents):
        with open(r'%s' % file_path, mode='r', encoding='utf-8') as f1, 
                open(r'new_file.txt', mode='w', encoding='utf-8') as f2:
            data = f1.read()
            res = data.replace(old_contents, new_contents)
            f2.write(res)
        import os
        os.remove(file_path)
        os.rename('new_file.txt', file_path)
        print("修改完成")

    # 2、编写tail工具

    def tail():
        import time
        with open("a.txt", mode='rb')as f:
            f.seek(0, 2)
            while True:
                line = f.readline()
                if len(line) == 0:
                    time.sleep(0.1)
                else:
                    print(line.decode('utf-8'), end="")

    # 3、编写登录功能

    def login():
        i = 0
        while i < 3:
            inp_name = input("请输入您的用户名:")
            inp_psw = input("请输入您的密码:")
            with open(r'registration.txt', mode='rt', encoding='utf-8') as f3:
                for line in f3:
                    name, psw = line.strip('
    ').split(':')
                    if inp_name == name and inp_psw == psw:
                        print("登录成功!")
                        i = 3
                        break
                else:
                    print("登录失败,请重新登录!")
                    i += 1

    # 4、编写注册功能

    def register():
        tag = True
        while tag:
            l = []
            inp_name = input("请注册您的用户名:").strip()
            with open('registration.txt', mode='r', encoding='utf-8') as f1:
                for line in f1:
                    info_name, *_ = line.strip('
    ').split(':')
                    l.append(info_name)
            if inp_name not in l:
                while tag:
                    inp_psw = input("请注册您的密码(仅由数字组成):").strip()
                    if inp_psw.isdigit():
                        with open('registration.txt', mode='a', encoding='utf-8') as f2:
                            f2.write('%s:%s' % (inp_name, inp_psw))
                        print("注册成功!")
                        tag = False
                    else:
                        print("密码格式错误")
            else:
                print("用户名已存在,请重新输入")

    # 5、编写用户认证功能

    def check():
        tag = True
        while tag:
            inp_name = input("请输入您的用户名:")
            inp_psw = input("请输入您的密码:")
            with open(r'registration.txt', mode='rt', encoding='utf-8') as f3:
                for line in f3:
                    name, psw = line.strip('
    ').split(':')
                    if inp_name == name and inp_psw == psw:
                        print("认证成功!")
                        tag = False
                        break
                else:
                    print("认证失败")

    # 选做题:编写ATM程序实现下述功能,数据来源于文件db.txt
    # 1、充值功能:用户输入充值钱数,db.txt中该账号钱数完成修改
    # 2、转账功能:用户A向用户B转账1000元,db.txt中完成用户A账号减钱,用户B账号加钱
    # 3、提现功能:用户输入提现金额,db.txt中该账号钱数减少
    # 4、查询余额功能:输入账号查询余额

    # 选做题中的选做题:登录功能
    # 用户登录成功后,内存中记录下该状态,上述功能以当前登录状态为准,必须先登录才能操作

  • 相关阅读:
    ffmpeg+nginx+video实现rtsp流转hls流,通过H5查看监控视频
    视频支持拖动进度条播放的实现(基于nginx)
    nginx 点播mp4方法
    NGINX 添加MP4、FLV视频支持模块
    html5播放mp4视频代码
    ThreadPoolExecutor使用错误导致死锁
    Spring-Cloud-Gateway
    从0开始构建你的api网关--Spring Cloud Gateway网关实战及原理解析
    使用Consul做服务发现的若干姿势
    Consul 的安装与基本使用
  • 原文地址:https://www.cnblogs.com/cui-cheng/p/13138705.html
Copyright © 2020-2023  润新知