zoukankan      html  css  js  c++  java
  • Day5 Homework

    1,有如下变量(tu是个元祖),请实现要求的功能

        tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])

    a. 讲述元祖的特性

          元组被称为只读列表,即数据可以被查询,但不能被修改

    b. 请问tu变量中的第一个元素 “alex” 是否可被修改?

       不能被修改,因为是元组

    c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

       可以被修改,对应的list

    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11, 22, 33)}, 44])
    
    tu[1][2]['k2'].append('seven')
    print(tu)

    ('alex', [11, 22, {'k2': ['age', 'name', 'seven'], 'k1': 'v1', 'k3': (11, 22, 33)}, 44])

    d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

       不可以被修改,k3不可以被更改,对应的数据类型为元组

    2, 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

        a. 请循环输出所有的key

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    for i in dic.keys():
        print(i)

    k3
    k2
    k1

        b. 请循环输出所有的value

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    for i in dic.values():
        print(i)

    [11, 22, 33]
    v1
    v2

        c. 请循环输出所有的key和value

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    for i in dic.items():
        print(i)

    ('k1', 'v1')
    ('k3', [11, 22, 33])
    ('k2', 'v2')

        d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    dic.setdefault('k4','v4')
    print(dic)

    {'k1': 'v1', 'k2': 'v2', 'k4': 'v4', 'k3': [11, 22, 33]}

        e. 请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    dic['k1']='alex'
    
    print(dic)

    {'k3': [11, 22, 33], 'k1': 'alex', 'k2': 'v2'}

        f. 请在k3对应的值中追加一个元素 44,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    dic['k3'].append(44)
    print(dic)

    {'k1': 'v1', 'k3': [11, 22, 33, 44], 'k2': 'v2'}

        g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    
    dic['k3'].insert(0,'18')
    print(dic)

    {'k1': 'v1', 'k3': ['18', 11, 22, 33], 'k2': 'v2'}
    3,av_catalog = {
        "欧美":{
            "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
            "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
            "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
            "x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
        },
        "日韩":{
            "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
        },
        "大陆":{
            "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]

                   # 1,给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个元素:'量很大'。
    li['欧美']['www.youporn.com'].insert(1,'量很大')
    print(li)

                   # 2,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。

    av['欧美']['x-art.com'].pop(1)     remove(‘全部收费,屌丝请绕过’)

    print(av)
                   # 4,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
    av['日韩']['tokyo-hot'][1] = av['日韩']['tokyo-hot'][1].upper()
    print(av)
                   # 5,给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
    av['大陆']['1048'] ='一天就封了'
    print(av)
                   # 6,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。
    del av['欧美']['letmedothistoyou.com']
    print(av)
                   # 7,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'

     av['大陆']['1024'][0]= av['大陆']['1024'][0] '可以爬下来'
    print(av)
     
    4、有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}
    str = "k:1|k1:2|k2:3|k3:4"
    dic = {}
    li = str.split('|')
    
    for i in li:
        d = i.split(':')
        dic[d[0]] = int(d[1])
    print(dic)

    {'k1': 2, 'k2': 3, 'k': 1, 'k3': 4}

     5、元素分类

        有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

    li= [11,22,33,44,55,66,77,88,99,90]
    l1 = []
    l2 = []
    dic ={}
    for i in li:
        if i > 66:
            l1.append(i)
        else:
            l2.append(i)
    dic.update({'k1':l1})
    dic.update({'k2':l2})
    print(dic)
    li= [11,22,33,44,55,66,77,88,99,90]
    dic = {'k1':[],'k2': []}
    for i in li:
        if i > 66:
            dic['k1'].append(i)
        else:
            dic['k2'].append(i)
    print(dic)

    {'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55, 66]}

    思考题 

    6、输出商品列表,用户输入序号,显示用户选中的商品

        商品 li = ["手机", "电脑", '鼠标垫', '游艇']

    要求:

    1:页面显示 序号 + 商品名称,如:1 手机 2 电脑

    2: 用户输入选择的商品序号,然后打印商品名称

    3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。

    4:用户输入Q或者q,退出程序。

    老师答案:
    li = ["手机", "电脑", '鼠标垫', '游艇'] while True: for i in li: print(li.index(i)+1,i) num = input('请输入商品序号:Q:q退出').strip() if num.isdigit(): num = int(num) if num <= len(li) and num >0: print(li[num-1]) else: print('超出序号范围,请重新输入') elif num.upper() == 'Q': break else: print('输入的有非法字符,请重新输入')
    正确答案:
    li = ["手机", "电脑", '鼠标垫', '游艇'] a = 0 for i in li: a +=1 Flag = True while True: s = input('请输入编码:Q/q'.strip()) if s.isdigit(): if int(s) <= len(li) and int(s) != 0: print(li[int(s)-1]) else: print('输入有误,请重新输入') else: if s.upper() == 'Q': break

    明日默写内容。

    三、复习题

    1)字典的增删改查。

    字典的增:1,有则覆盖,无则添加dic[添加的键] = 添加的值

          2,setdefault,无则增加,有则不变,dic.setdefault(添加的键,添加的值)

      删:1,pop有返回值删除

        2,clear清空

        3,del删除键值对,也可以删除字典

      改:1,直接修改,dic[添加的键] = 添加的值

        2,两个字典,要更新的字典.update(不变的字典)

      查:1,直接按键值查找dic[键值]

        2,用get直接查找dic.get(键值)

    2)过滤敏感字符代码的默写。

    复制代码
    li = ["苍老师","东京热","武藤兰","波多野结衣"]
    l1 = []
    comment = input("input")
    for i in li:
        comment = comment.replace(i,'*'*len(i))
    l1.append(comment)
    print(l1)
    复制代码
  • 相关阅读:
    在Ubuntu下编译Qt错误及处理办法
    二、数字电路中常见器件应用分析-三极管
    2.NB-IoT及通信协议
    1.编写一个shell脚本
    7.STM32中GPIO理解
    (引用)!Unicode,GBK以及UTF8的联系和区别
    java垃圾回收
    java集合框架概述
    RSA实现(java)
    RSA算法(非对称加密)
  • 原文地址:https://www.cnblogs.com/kateli/p/8626752.html
Copyright © 2011-2022 走看看