Python学习0304作业
一、#如何选择合适的类型来记录状态???
# 作业思路:
# 1、选取的类型是否可以明确标识事物的状态
# 2、存不是目的,存的目的是为了日后取出来用,并且方便的用
# 3、把自己想象成一台计算机,如果我是计算机,
# 我会如何以何种形式把事物的状态记到脑子里然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态
# ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储
#1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:\a\b\c\adhsvc.dll.system32,方便后期处理
使用字符串类型:log_path = r'C:\a\b\c\adhsvc.dll.system32,' # r''---> read
#2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
方案一使用字典类型:
header_info = {'filename': 'locked.txt', 'size': 360}
方案二使用字符串类型:
file_name = 'a.txt'
file_size = 300
#3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
log = "上传文件失败" # 一个错误日志使用字符串
log_list = ['日志1','日志2',] # 多个错误日志使用列表
#4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
使用字符串类型:virus_client_info = "[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
#5、把服务端ip地址存放下来,ip地址为10.0.10.11
使用字符串类型:server_address = '10.0.10.11'
#6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
使用整数类型:time_interval = 3
# 二:嵌套取值操作
#1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
请取出第一个学生的第一个爱好
方案一:
print(students_info[0][2][0]) -->play
方案二:
print(students_info[0][-1][0]) -->play
#2、针对字典
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
请取出取公司名
print(info['company_info']['name']) -->Oldboy
#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]) -->sleep
方案二:
print(students[1]['hobbies'][-1]) -->sleep
三、选做题:编写用户登录接口
#1、输入账号密码完成验证,验证通过后输出"登录成功"
# 1、输入账号密码完成验证,验证通过后输出"登录成功"
username = 'lsj'
password = '123456'
# 让用户输入账号与密码
user_name = input('请输入账号: ')
user_password = input('请输入密码: ')
if username == user_name and password == user_password:
print('登录成功')
else:
print('账号或密码错误!')
#2、可以登录不同的用户
# 2、可以登录不同的用户
# 在字典中存入多个账号和密码
username_info = {
'engon':'123',
'lsj':'456',
'mengge':'123456'
}
# 提示用户输入账号
username = input("请输入账号:")
# 判断用户是否存在于字典中
if username in username_info:
# 提示用户输入密码
password = input("请输入密码:")
# 判断所输入的密码是否正确
if password == username_info[username]:
print("登录成功")
else:
print("账号或密码错误!")
else:
print("该账号不存在!")
#3、同一账号输错三次锁定
# 3、同一账号输错三次锁定 username = 'lsj' password = '123456' # 输入账号错误计数 count = 1 while count <= 3: # 让用户输入账号与密码 user_name = input('请输入账号: ') user_password = input('请输入密码: ') if username == user_name: if password == user_password: print('登录成功') break else: print('账号或密码错误!') count += 1
#扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
# 扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
# 导入时间模块
import time
username = 'lsj'
password = '123456'
# 输入账号错误计数
count = 1
while count <= 3:
# 让用户输入账号与密码
user_name = input('请输入账号: ')
user_password = input('请输入密码: ')
if username == user_name:
if password == user_password:
print('登录成功')
break
else:
print('账号或密码错误!')
count += 1
# 号输错三次锁定5分钟
if count == 4:
print('账户锁定,等待5分钟后解锁')
# 使用睡眠功能
time.sleep(300) # 5min ---> 300s
print('账号已解锁,请继续使用!')
count = 1