字典作业及默写

 

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

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

    a. 讲述元祖的特性

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

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

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

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

  a.请循环输出所有的key

  b.请循环输出所有的value

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

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

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

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

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

 

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

    a,给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个  元素:'量很大'。
    b,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
    c,在 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表中添加"金老板最喜欢这个"。
    d,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。

  e,给'大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']

    f,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。

    g,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'

 

4、有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}  (升级题)

5、元素分类

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

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

6、输出商品列表,用户输入序号,显示用户选中的商品(升级题)   

商品列表:

 goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998}, ]

要求:

1:页面显示 序号 + 商品名称 + 商品价格,如:

       1 电脑 1999

       2 鼠标 10

      …

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

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

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

 

 

明日默写内容。

1)字典的增删改查。

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

li = ["苍老师","东京热","武藤兰","波多野结衣"]

comment = input('请输入评论>>>')
for i in li:
    if i in comment:
        comment = comment.replace(i,'*'*len(i))
print(comment)

  1 ##课上留的作业
  2 # 关于set集合作业: 写一个彩票开奖(36选7)
  3 ##题意理解:从1-36中随机产生7个不重复的数字作为开奖数字
  4 from random import randint
  5 nums = set()
  6 #下面是相同的思想,不同的代码堆砌方式
  7 #方法1
  8 while True:
  9     nums.add(randint(1,36)) #返回1-10之间的一个随机数,包括10
 10     if len(nums) == 7:
 11         break
 12 print(nums)
 13 #方法2
 14 while len(nums) != 7:
 15     nums.add(randint(1,36))
 16 print(nums)
 17 
 18 # day5作业及默写
 19 #
 20 # 1,有如下变量(tu是个元祖),请实现要求的功能
 21 #
 22 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
 23 #     a. 讲述元祖的特性
 24         #元组用()表示, 只读列表.
 25         # 元组也有索引和切片
 26         # 元组也是可迭代的
 27         # 元组的不可变: 指向不变
 28 
 29 #     b. 请问tu变量中的第一个元素 "alex" 是否可被修改?不可以
 30 #     c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
 31 tu[1][2]['k2'].append("Seven")#列表,可以修改
 32 # d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
 33 # 元组,不可以修改
 34 
 35 
 36 # 2, 字典dic,
 37 dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
 38 # a.请循环输出所有的key
 39 for k in dic:
 40     print(k)
 41 # b.请循环输出所有的value
 42 for v in dic.values():
 43     print(v)
 44 # c. 请循环输出所有的key和value
 45 for k,v in dic.items():
 46     print(k,v)
 47 # d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
 48 dic["k4"] = "v4"
 49 # e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
 50 dic["k1"] = "alex"
 51 
 52 # f. 请在k3对应的值中追加一个元素 44,输出修改后的字典
 53 dic["k3"].append(44)
 54 print(dic)
 55 # g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
 56 dic["k3"].insert(1,18)
 57 print(dic)
 58 
 59 
 60 # 3,
 61 av_catalog = {
 62     "欧美":{
 63         "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
 64         "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
 65         "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
 66         "x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
 67     },
 68     "日韩":{
 69         "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
 70     },
 71     "大陆":{
 72         "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
 73     }
 74 }
 75 #
 76 # a,给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个  元素:'量很大'。
 77 av_catalog["欧美"]["www.youporn.com"].insert(2,'量很大')
 78 # b,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
 79 av_catalog["欧美"]["x-art.com"].remove("全部收费,屌丝请绕过")
 80 # c,在此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表中添加"金老板最喜欢这个"。
 81 av_catalog["欧美"]["x-art.com"].append("金老板最喜欢这个")
 82 # d,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
 83 av_catalog["日韩"]["tokyo-hot"][1].upper()
 84 # e,给'大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
 85 av_catalog["大陆"]["1048"] = ['一天就封了']
 86 # f,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。
 87 av_catalog["欧美"].pop("letmedothistoyou.com")
 88 del av_catalog["欧美"]["letmedothistoyou.com"]
 89 # g,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'
 90 av_catalog["大陆"]["1024"][0] += '可以爬下来'
 91 
 92 
 93 #
 94 # 4、有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}  (升级题)
 95 dic = {}
 96 s = "k:1|k1:2|k2:3|k3:4"
 97 for el in s.split('|'):  #['k:1','k1:2','k2:3,'k3:4']
 98     k,v = el.split(':') #解构   k,v = el[0],el[-1]
 99     dic[k] = int(v)
100 print(dic)
101 
102 # 5、元素分类
103 # 有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
104 # 即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
105 li= [11,22,33,44,55,66,77,88,99,90]
106 dic = {'k1': [], 'k2': []}
107 for i in li:
108     if i > 66:
109         dic['k1'].append(i)
110     elif i < 66:
111         dic['k2'].append(i)
112 print(dic)
113 # 6、输出商品列表,用户输入序号,显示用户选中的商品(升级题)
114 # 商品列表:
115 # goods = [{"name": "电脑", "price": 1999},
116 #      {"name": "鼠标", "price": 10},
117 #      {"name": "游艇", "price": 20},
118 #      {"name": "美女", "price": 998}, ]
119 
120 # 要求:
121 # 1:页面显示 序号 + 商品名称 + 商品价格,如:
122 #           1 电脑 1999
123 #                2 鼠标 10
124 #
125 # 2:用户输入选择的商品序号,然后打印商品名称及商品价格
126 # 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
127 # 4:用户输入Q或者q,退出程序。
128 goods = [{"name": "电脑", "price": 1999},
129      {"name": "鼠标", "price": 10},
130      {"name": "游艇", "price": 20},
131      {"name": "美女", "price": 998}, ]
132 while 1:
133     for i in range(len(goods)):
134         print('%s %s %s'%(i+1,goods[i]['name'],goods[i]['price']))
135     num = input('请输入要选择的商品序号(Q退出程序):').strip()
136     if num.isdigit():
137         num = int(num)
138         if num < len(goods):
139             print('%s %s'%(goods[num-1]['name'],goods[num-1]['price']))
140         else:
141             print('商品序号有误,请重新输入')
142     elif num.upper() == 'Q':
143         break
144     else:
145         print('输入有误,请重新输入')
146 
147 
148 
149 
150 
151 # 明日默写内容。
152 #
153 # 1)字典的增删改查。
154 '''
155         1. 添加
156             dic[新key] = 值
157 
158             setdefault(key,value) key不存在,添加键值对
159         2. 删除
160             pop(key) 删除指定键的键值对
161             ## dic.popitem() # 随机删除一项(现在的版本一般是弹出最后一项)
162             ##del dic["李安"]  
163             ##dic.clear() # 清空
164         3. 修改
165             dic[老key] = (新)值
166             update() 更新字典(迭代更新,类似于列表的 extend)
167         4. 查询
168             dic[key]  ##直接使用key就可以拿到value
169             get(key, 值) ##当key不存在. 返回第二个参数. 默认第二个参数是None
170             setdefault(key, value)  key存在,返回对应的 value,key 不存在,先新增,再返回对应的 value
171         5. 遍历
172         # 1. 使用for循环直接遍历字典的key
173         # for key in dic:
174         #     print(key)
175         #     print(dic[key])
176         
177         # 2. 可以使用字典的items()+解构可以直接获取到key和value
178         # for k, v in dic.items():
179         #     print(k)
180         #     print(v)
181 '''
182 
183 # 2)过滤敏感字符代码的默写。
184 
185 li = ["苍老师","东京热","武藤兰","波多野结衣"]
186 
187 comment = input('请输入评论>>>')
188 for i in li:
189     if i in comment:
190         comment = comment.replace(i,'*'*len(i))
191 print(comment)
参考答案

猜你喜欢

转载自www.cnblogs.com/liangxiaoji/p/10056531.html
今日推荐