zoukankan      html  css  js  c++  java
  • 变量与基本数据类型的练习

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

    一、简单数据存值
    #1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
    Log = "C:acadhsvc.dll.system32"
    
    #2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
    msg_data = {"msg_name":"a.txt",'msg_size' : 360}
    
    #3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
    error_log = "上传文件失败"
    
    #4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
    msg = "[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
    
    #5、把服务端ip地址存放下来,ip地址为10.0.10.11
    ip_address = "10.0.10.11"
    
    #6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
    Interval = 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分钟
    
    user_data = {"Jil":"1118" , "Fishball":"188741"}
    wrongtime = {"Jil": 0 , "Fishball": 0}
    import time
    import os
    tag = True
    
    while tag:
        username = input("请输入账号(输入Q可退出):")
        if username == "Q" or username == "q":
            break
        elif wrongtime[username]>2 or os.path.exists(f"{username}.txt"):             # os._exists()输入错误,这条命令并不能判断
            print("该用户被锁定5分钟!")
            time.sleep(5)
            wrongtime[username] = 0
            os.remove(f"{username}.txt")
            print("已解锁!可重新输入!")
        elif username in user_data:
            #print(f"当前用户为:{username}")
            print("当前用户为:{}".format(username))
            while wrongtime[username] < 3:
                psd = input("请输入密码:")
                if psd == user_data.get(username):
                    print("登录成功!")
              #      wrongtime.get(username) = 0    .get() 单纯取值,不能进行运算、赋值
                    wrongtime[username] = 0
                    tag = False
                    break
                else:
                    wrongtime[username] += 1
                    if wrongtime[username] < 3 :
                        print("输入密码错误,请重试!(您已输错{}次,三次将被锁定)".format(wrongtime[username]))
                    else:
                        print("输入错误三次!您将被锁定5分钟!")
                        with open("%s.txt"%username,"w", encoding="utf-8") as f:
                            f.write(f"当前用户{username}已经被锁定!")
                        time.sleep(5)
                        print("已解锁!可重新输入!")
                        os.remove(f"{username}.txt")
                        wrongtime[username] = 0
        else:
            print("用户名不存在,请重新输入")
  • 相关阅读:
    Java中sleep方法和wait的详细区别
    判断一个字符串中出现次数最多的字符,统计这个次数
    截取字符串abcdefg的efg
    关于正则
    css 的清0
    关于alert
    新感知,可以创建自定义标签
    JS的组成部分
    把字符串首字母变成大写
    排序方法两两对比
  • 原文地址:https://www.cnblogs.com/zhubincheng/p/12411836.html
Copyright © 2011-2022 走看看