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"

# 列表,可以修改
# tu[1][2]['k2'].append('Seven')
# li = tu[1][2].get('k2')
# print(li)

# d,请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
# 元组类型。不能增改删
# print(tu[1][2]['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(): #for i in dic:
# print(i)
# b,请循环输出所有的value
# for i in dic.values():
# print(i)
# c,请循环输出所有的key 和 value
# for i,j in dic.items():
# print(i,j)
# d,请在字典中添加一个键值对:'k4':'v4',输出添加后的字典
# dic.setdefault('k4','v4')
# print(dic)
# e,请修改字典中的"k1"对应的值为"alex",输出修改后的字典
# dic['k1'] = 'alex'
# dic1 = {'k1':'alex'}
# dic.update(dic1)
# print(dic)
# f,请在k3对应的值中追加一个元素44,输出修改后的字典
# dic['k3'].append(44)
# print(dic)
# g,请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
# dic['k3'].insert(0,18)
# print(dic)
#
# 3、元素分类
# 有如下值 li = [11,22,33,44,55,66,77,88,99] ,将所有大于66的值保存至一个key中,将小于66的值保存至第二个key的值中
# 即:{"k1":大于66的所有的值,"k2":小于66的所有的值列表}
"""
li = [11,22,33,44,55,66,77,88,99]
dic = {'k1':[],'k2':[]}
for i in li:
if i > 66:
dic['k1'].append(i)
else:
if i == 66:
continue
dic['k2'].append(i)
print(dic)
"""

# 4、输出商品列表,用户输入序号,显示用户选中的商品
# 商品 li = ['手机','电脑','鼠标垫','游艇']
# 要求:a:页面显示 序号 + 商品名称,如
# 1 手机
# 2 电脑
# 。。。
# b:用户输入选择的商品序号,然后打印商品名称
# c:如果用户输入的商品有误,则提示输入错误,重新输入
# d:用户输入Q或q,退出程序
li = ['手机','电脑','鼠标垫','游艇']
dic = {}
for i in range(len(li)):
dic.setdefault(i+1,li[i])
"""
while 1:
for i,j in dic.items():
print(i,j)
name = input('请输入你选择的商品序号:')
if name.upper() == 'Q':
break
elif int(name) not in dic:
print('输入的不在列表中,请重新输入,或输入"q"、"Q"退出:')
else:
if int(name) in dic:
print(dic[int(name)])
"""
while 1:
for i,j in dic.items():
print(i,j)
name = input('请输入你选择的商品序号:')
if name.upper() == 'Q':
break
elif name.isdigit():
if int(name) in dic:
print('你选择的商品是:' + dic[int(name)])
else:
print('输入的不在列表中,请重新输入,或输入"q"、"Q"退出。')
else:
print('你输入的不是数字,请输入数字。')
print('用户退出!!!')


# 明日默写
# a,字典的增删改查
# b,过滤敏感字符代码的默写
# li = ['苍老师','东京热','武藤兰','波多野结衣']

a,增:
  dic['keys'] = 'value' 没有值就新增健值对,有值就更新值
  dic.setdefault('keys','value') 没有值就新增键值对,有就没有变化
 删:
  dic.pop['keys',None] 有返回值,按键去返回。没有值返回None(也可以自定义返回值)
  dic.popitem() 随机删除
  del dic['key'] 如果删除的键没有会报错
  del dic
  dic.clear() 清空字典

改: 

  dic1['key'] = 21 #这个也可以是更改
update
  dic = {'name':'jin','age':18,'sex':'male'}
  dic2 = {'name':'alex','weight':75}
  dic2.update(dic)
  print(dic)
  print(dic2)
查:
  print(dic1.keys(),type(dic1.keys()))
  print(dic1.values())
  print(dic1.items())

  
  for k,v in dic1.items():
  print(k,v)
取值:
  v1 = dic1['name']
  print(v1)
  v2 = dic1['name1'] #没有这个值会报错

  print(dic1.get('name1',None)) #没有这个值默认返回None,也可返回设定的值
 

  





posted @ 2019-07-09 14:42  休由  阅读(326)  评论(0编辑  收藏  举报