作业7.7

作业思路:如何选择合适的类型来记录状态???
1、选取的类型是否可以明确标识事物的状态
2、存不是目的,存的目的是为了日后取出来用,并且方便的用
3、把自己想象成一台计算机,如果我是计算机,
我会如何以何种形式把事物的状态记到脑子里
然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态
ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储

1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理

file_path = r"C:\a\b\c\adhsvc.dll.system32"

2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息

file_name = 'a.txt'
file_size = 360

3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"

error = "上传日志失败"

4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"

import time

ip1 = "80.82.70.187:33649"
print("[%s] 癞蛤蟆病毒感染者—> %s 正在上传数据" % (time.strftime('%Y-%m-%d %H:%M:%S'), ip1))

5、把服务端ip地址存放下来,ip地址为10.0.10.11

ip = "10.0.10.11"

6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔

time_interval = 3

二:嵌套取值操作
1、students_info=[[‘egon’,18,[‘play’,]],[‘alex’,18,[‘play’,‘sleep’]]]
请取出第一个学生的第一个爱好

students_info = [['egon', 18, ['play', ]], ['alex', 18, ['play', 'sleep']]]
print(students_info[0][2][0])

2、针对字典,请取出取公司名

info = {
    'name': 'egon',
    'hobbies': ['play', 'sleep'],
    'company_info': {
        'name': 'Oldboy',
        'type': 'education',
        'emp_num': 40,
    }
}
print(info['company_info']['name'])

3、针对下述类型,取第二个学生的第二个爱好

students = [
    {'name': 'alex', 'age': 38, 'hobbies': ['play', 'sleep']},
    {'name': 'egon', 'age': 18, 'hobbies': ['read', 'sleep']},
    {'name': 'wupeiqi', 'age': 58, 'hobbies': ['music', 'read', 'sleep']},
]

print(students[1]['hobbies'][1])

针对个别已经学了很多的同学,有如下选做题
*选做题:编写用户登录接口(学的多的同学,尝试做下述作业,这是截止到下周二学完文件处理之后的作业)
1、输入账号密码完成验证,验证通过后输出"登录成功"

inp_name = input('请输入您的用户名:').strip()
inp_pwd = input('请输入您的密码:').strip()
if inp_name == "jason" and inp_pwd == "123":
    print('登录成功!')
else:
    print('登录失败!')

2、可以登录不同的用户

def login():
    while True:
        in_name = input('请输入您的用户名:').strip()
        in_pwd = input('请输入您的密码:').strip()
        with open('info.txt', mode='r', encoding='utf-8') as f:
            for line in f:
                name, pwd = line.strip('\n').split(':')
                if name == in_name and pwd == inp_pwd:
                    print('登录成功')
            else:
                print('登录失败!请重新输入')

3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)

def login1():
    i = 0
    while i < 3:
        in_name = input('请输入您的用户名:').strip()
        in_pwd = input('请输入您的密码:').strip()
        with open('info.txt', mode="r", encoding='utf-8') as f:
            for line in f:
                name, pwd = line.strip('\n').split(':')
                if in_name == name and in_pwd == pwd:
                    print('登录成功')
                    break
            else:
                print('登录失败')
                i += 1
    if i >= 3:
        print("身份认证错误3次,程序将锁定3分钟")
        start_time = time.time()
        while time.time() - start_time < 300:
            # 锁定代码
            time.sleep(0.1)
        else:
            # 解锁代码
            print('解除锁定')
            login1()

**扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值