# 作业思路:如何选择合适的类型来记录状态???
# 1、选取的类型是否可以明确标识事物的状态
# 2、存不是目的,存的目的是为了日后取出来用,并且方便的用
# 3、把自己想象成一台计算机,如果我是计算机,
# 我会如何以何种形式把事物的状态记到脑子里
# 然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态
# ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储
# 1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理
# 答:使用字符串类型str
# log_path = r'C:\a\b\c\adhsvc.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('用户名不存在')