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"

#可哈希 元组本身不可修改,其中元素可修改
#不可修改
#字符串
#列表
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
tu[1][2]["k2"].append("Seven")
print(tu)
#字符串 对应的是元组 不可修改

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

  1. 请循环输出所有的key
  2. 请循环输出所有的value

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

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

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

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

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

#a
for i in dic:
print(i)
#b
for i in dic.values():
print(i)
#c
for i in dic.items():
print(i)
#d_1
dic["k4"]="v4"
print(dic)
#d_2
dic.setdefault("k4","v4")
#e
dic.update({"k1":"alex"})
print(dic)
#f
dic["k3"].append(44)
print(dic)
#g
dic["k3"].insert(0,18)
print(dic)

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

#a
av_catalog["欧美"]["www.youporn.com"].insert(2,"量很大")
print(av_catalog)
#b_1
# av_catalog["欧美"]["x-art.com"].pop()
# print(av_catalog)
#b_2
av_catalog["欧美"]["x-art.com"].remove("全部收费,屌丝请绕过")
print(av_catalog)
#c
av_catalog["日韩"].get("tokyo-hot")[1]=av_catalog["日韩"].get("tokyo-hot")[1].upper()
print(av_catalog)
#e
# av_catalog["大陆"].setdefault("1048","一天就封了")
# print(av_catalog)
#e_2
av_catalog["大陆"].update({"":"一天就封了"})
print(av_catalog)
#f
av_catalog["欧美"].pop("letmedothistoyou.com")
print(av_catalog)
#g
av_catalog["大陆"].get("").insert(0,'可以爬下来')
print(av_catalog)

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

dic={}
for i in s.split("|"):
j,k=i.split(":")
dic.setdefault(j,int(k))
print(dic)

5、元素分类

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

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

dic={"k1":[],"k2":[]}
for i in li:
if i>66:
dic.get("k1").append(i)
if i<66:
dic.get("k2").append(i)
print(dic)

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

商品列表:

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

要求:

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

1 电脑 1999

2 鼠标 10

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

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

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

for i in range(len(goods)):
print(i+1,goods[i]["name"],goods[i]["price"])
while True:
user_select=input("请选择商品序号(q或Q退出):")
if user_select.isdigit():
if int(user_select)<=len(goods) and int(user_select)>0:
print(int(user_select),goods[int(user_select)-1]["name"],goods[int(user_select)-1]["price"])
else:
print("输入有误,请重新输入")
if user_select.isalpha():
if user_select.upper()=="Q":
break
else:
print("输入有误,请重新输入")

python练习题-day5的更多相关文章

  1. python笔记 - day5

    python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...

  2. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  3. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  4. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  5. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  6. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  7. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  8. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

  9. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

随机推荐

  1. vmware-hostd.exe 占用443端口导致Apache无法正常启动?

    问题: [Apache]  Problem detected!16:23:19  [Apache]  Port 443 in use by ""D:\vmware\VMware W ...

  2. Ubuntu上查内存情况

    free -h

  3. ubuntu下mysql远程连接和访问慢的解决方法

    原本连接很快的mysql服务器,连接速度奇慢.以前几十毫秒的连接现在完成一次要近5秒钟,在排除了网络问题后,只有从mysql下手.原来每次访问db,mysql就会试图去解析来访问的机器的domain ...

  4. react如何监听路由url变化

    "componentWillReceiveProps" "shouldComponentUpdate" "componentWillUpdate&qu ...

  5. [Tensorflow] Practice - The Tensorflow Way

    该系列主要是<Tensorflow 实战Google深度学习框架 >阅读笔记:有了Cookbook的热身后,以这本书作为基础形成个人知识体系. Ref: [Tensorflow] Cook ...

  6. Unity3D Shader 内置函数

    Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HL ...

  7. CSS3 transition 属性过渡效果 详解

    CSS3 transition 允许 CSS 元素的属性值在一定的时间区间内平滑地过渡.我们可以在不使用 Flash 动画或 JavaScript 的情况下,在元素从一种样式变换为另一种样式时为元素添 ...

  8. Redhat7.5安装glusterfs4

    redhat7.5自带yum源不包含glusterfs4,下面通过rpm包的方式安装glusterfs4 环境查看 glusterfs官方网站下载rpm包下载地址 https://buildlogs. ...

  9. 转载:Maplab开源VI-SLAM框架介绍

    https://blog.csdn.net/ccfiricen/article/details/79089694

  10. c语言之要点-泛篇

    1.goto goto由goto和标签名组成, 1 1 if(....) 2 2 { 3 3 ..... 4 4 goto part2; 5 5 } 6 6 part2: printf(". ...