python基础之课业习题(五)
1,有如下变量(tu是个元祖),请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 讲述元祖的特性
-
-
- 只读的列表,不可变数据类型 也叫可哈希
-
b. 请问tu变量中的第一个元素 “alex” 是否可被修改?
-
-
- 不可被修改
-
c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
-
-
- k2对应的值为列表类型,可以被修改
-
tu[1][2]['k2'].append('Seven')
-
tu[1][2]['k2'] = ["age","name","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,输出修改后的字典

1 dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]} 2 3 4 for i in dic.keys(): 5 print(i) 6 7 for i in dic.values(): 8 print(i) 9 10 for i in dic.items(): 11 print(i) 12 13 dic['k4'] = 'v4' 14 print(dic) 15 16 #d2 17 18 dic.setdefault('k4','v4') 19 print(dic) 20 21 dic['k1'] = 'alex' 22 print(dic) 23 24 dic.update({'k1':'alex'}) 25 print(dic) 26 27 28 dic['k3'].append(44) 29 print(dic) 30 31 dic['k3'].insert(1,18) 32 print(dic)
3、元素分类
有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

1 li= [11,22,33,44,55,66,77,88,99,90] 2 dic = {'k1':[],'k2':[]} 3 for i in li: 4 if i > 66: 5 dic['k1'].append(i) 6 elif i < 66: 7 dic['k2'].append(i) 8 print(dic)
4、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
1 手机
2 电脑
…
2: 用户输入选择的商品序号,然后打印商品名称
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。

1 li = ["手机", "电脑", '鼠标垫', '游艇'] 2 dic = {} 3 a = 0 4 for i in li: 5 a += 1 6 dic.setdefault(a,i) 7 for j in dic: 8 print(j,dic[j]) 9 while 1: 10 choise = input('请输入商品序号:') 11 if choise.isalnum(): 12 if choise.isalpha(): 13 if choise.upper() == 'Q': 14 break 15 elif choise.isdigit(): 16 print(dic.get(int(choise), '输入有误,请重新输入')) 17 else:print('输入有误,请重新输入') 18 else:print('输入有误,请重新输入')
方法二、

1 li = ["手机", "电脑", '鼠标垫', '游艇'] 2 dic = {} 3 a = 0 4 for i in li: 5 a += 1 6 dic.setdefault(a,i) 7 for j in dic: 8 print(j,dic[j]) 9 while 1: 10 choise = input('请输入商品序号:') 11 if choise.isdigit(): 12 print(dic.get(int(choise), '输入有误,请重新输入')) 13 elif choise.isalpha(): 14 if choise.upper() == 'Q': 15 break 16 else:print('输入有误,请重新输入')
明日默写内容。
1)字典的增删改查。
2)过滤敏感字符代码的默写。
li = ["苍老师","东京热","武藤兰","波多野结衣"]
l1 = []
comment = input('请输入评论>>>')
for i in li:
if i in comment:
comment = comment.replace(i,'*'*len(i))
l1.append(comment)
print(l1)