# 作业思路:如何选择合适的类型来记录状态???
# 1、选取的类型是否可以明确标识事物的状态
# 2、存不是目的,存的目的是为了日后取出来用,并且方便的用
# 3、把自己想象成一台计算机,如果我是计算机,
# 我会如何以何种形式把事物的状态记到脑子里
# 然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态
# ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储
# 1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
# 答:使用字符串类型str
# log_path = r'C:acadhsvc.dll.system32' # 或log_path = 'C:\a\b\c\adhsvc.dll.system32' # mac可以log_path = 'C:/a/b/c/adhsvc.dll.system32'
# 2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
# 答:使用字典类型key # file_info = {'name': 'a.txt', 'size': 360}
# 3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
# 答:使用字符串类型str # log_error = '上传文件失败'
# 4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
# 答:使用列表list # info = ['2020-02-18-17:00:48', '癞蛤蟆病毒感染者-> 80.82.70.187:33649', '正在上传数据']
# 5、把服务端ip地址存放下来,ip地址为10.0.10.11
# 答:使用字符串类型str # ip_address = '10.0.10.11'
# 6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
# 答: 使用使用整数型int # times = 3
# 二:嵌套取值操作
# 1、
请取出第一个学生的第一个爱好
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、输入账号密码完成验证,验证通过后输出"登录成功"
# 2、可以登录不同的用户
# 3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
# 扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
# 1、输入账号密码完成验证,验证通过后输出"登录成功" # username = input('请输入用户名:') # password = input('请输入密码:') # if username == 'mac' and password == '123': # print('登陆成功') # else: # print('用户名或密码错误') # 2、可以登录不同的用户 # user_info = { # 'egon': '123', # 'tank': '321', # 'mac': '111' # } # while True: # username = input('请输入用户名:') # if username in user_info: # print('%s用户存在' % username) # password = input('请输入密码:') # if password == user_info[username]: # print('登陆成功') # break # else: # print('用户名或密码错误') # else: # print('用户名不存在') # 3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁) # 扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟 # user_info = { # 'egon': '123', # 'tank': '321', # 'mac': '111' # } # import time # count = 0 # tag = True # while tag: # username = input('请输入用户名:') # if username in user_info: # print('%s用户存在' % username) # while count < 3: # password = input('请输入用户密码:') # if password == user_info[username]: # print('登陆成功') # tag = False # break # else: # count += 1 # print('用户密码错误,剩余次数',3-count) # else: # print('用户被锁定,锁定时间5分钟') # time.sleep(300) # print('用户已解锁') # count = 0 # else: # print('用户名不存在')