Python学习0304作业

一、#如何选择合适的类型来记录状态???  

  # 作业思路:

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

  #1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
    使用字符串类型:log_path = r'C:acadhsvc.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
原文地址:https://www.cnblogs.com/liunaixu/p/12411392.html