• 练习题


    #!/user/bin/env python
    # -*- coding:utf-8 -*-
    # 1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
    # li = ['alex', 'eric', 'rain']
    # li1 = "_".join(li)
    # print(li1)

    # 2.查找列表中元素,移除每个元素空格,并查找以a或A开头,并且以c结尾的所有元素。
    # li = ["alec", " aric", "AleC", "Tony", "rain"]
    # tu = ("alec", " aric","aleC", " Alex ", "Tony", "rain")
    # dic = {"k1": "alec", "k2": "aric", "k3": "Alex", "k4": "Tony", "k5": "rain"}
    # for li1 in li:
    # li2=li1.strip()
    # if li2.startswith("a") or li2.startswith("A"):
    # if li2.endswith("c") or li2.endswith("C"):
    # print(li2)

    # for tu1 in tu:
    # tu2=tu1.strip()
    # if tu2.startswith("a") or tu2.startswith("A") and tu2.endswith("c") or tu2.endswith("C"):
    # print(tu2)

    # for dic1 in dic.values():
    # dic2=dic1.strip()
    # if dic2.startswith("a") or dic2.startswith("A") and dic2.endswith("c") or dic2.endswith("C"):
    # print(dic2)

    # 3.写代码,有如下列表,安装要求实现每一个功能
    # li = ["alex", "eric", "rain"]
    # a.计算列表长度
    # print(len(li))
    # b.列表中追加元素“seven”,并输出添加后的列表。
    # li.append("seven")
    # print(li)
    # c.请在列表的第1个位置插入元素“tony”并输出添加后的列表。
    # li.insert(0,"tony")
    # print(li)
    # d.请修改第二个位置的元素为“kelly”,并输出修改后的列表。
    # li[1]="Kelly"
    # print(li)
    # e.请删除列表中的的元素“eric”,并输出修改后的列表。
    # li.remove("eric")
    # print(li)
    # f.请删除列表中的第2个元素,并输出删除的元素值和删除元素后的列表
    # vl1=li.pop(1)
    # print(vl1)
    # print(li)
    # g.请删除列表中的第3个元素,并输出删除元素后的列表。
    # li.pop(2)
    # print(li)
    # h.请输出列表中的第2至第4个元素,并输出删除后的元素列表。
    # print(li[1:4])
    # i.请将列表所有元素反转,并输出翻转后的列表。
    # li.reverse()
    # print(li)
    # j.请使用for len range 输出列表索引。
    # for i1 in range(len(li)):
    # print(i1)
    # 5.写代码,有如下元祖,按照要求实现每一个功能。
    # tu = ("alex", "eric", "rain")
    # a.计算元组的长度并输出.
    # print(len(tu))
    # b.获取元祖的第2个元素,并输出
    # print(tu[1])
    # c.获取元祖的第1-2个元素,并输出
    # print(tu[0:2])
    # d.请使用for输出元祖的元素。
    # for tu1 in tu:
    # print(tu1)
    # e.请使用for、len、range输出元组的索引。
    # for tu1 in range(len(tu)):
    # print(tu1)
    # f.请使用enummrate输出元组的元素和序号(序号从10开始)
    # for indx1,val in list(enumerate(tu,start=10)):
    # print(indx1,val)
    # 6.有如下变量,请实现要求的功能
    # tu=("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
    # a.讲述元祖的特性。
    # 元组的一级元素不可修改,二级元组根据类型判断是否可以修改。
    # b.请问tu变量中的第一个元素"alex"是否可以被修改。
    # 不可以被修改
    # c.请问tu变量中的"k2"对应的值是什么类型,是否可以被修改,如果可以请在其中添加一个
    # k2对应的值是列表,可以被修改
    # dic1=tu[1][2]
    # list1=dic1.get("k2")
    # list1.append("zhangsan")
    # print(tu)
    # d.请问tu变量中的“k3"对应的值是什么类型,是否可以被修改,如果可以请在其中添加一个
    # k3对应的值是元组,不能修改。
    # 7.字典
    # dic = {"K1": "V1", "K2": "V2", "K3": [11, 22, 33]}
    # a.请输出所有的key
    # for kk in dic.keys():
    # print(kk)
    # b.请输出所有的value
    # for values1 in dic.values():
    # print(values1)
    # c.请循环输出所有的key和value
    # for kk,vv in dic.items():
    # print(kk,vv)
    # d.请在字典中添加一对键值对,“K4”:“V4”,输出添加后的字典。
    # dic.setdefault("k4","v4")
    # print(dic)
    # e.请修改字典中的"K1"对应的值为"alex",输出修改后的字典。
    # dic.update(K1="alex")
    # print(dic)
    # f.请在K3对应的值中追加一个元素44,输出修改后的字典。
    # dic["K3"].append(44)
    # print(dic)
    # g.请在K3对应的值第1个位置插入个元素18,输出修改后的字典
    # dic["K3"].insert(0,18)
    # print(dic)
    # 8.转换
    # a. 将字符串 s="alex"转换为列表
    # s="alex"
    # list1=list(s)
    # print(list1)
    # b. 将字符串 s="alex"转换为元组
    # s="alex"
    # tuple1=tuple(s)
    # print(tuple1)
    # c. 将列表 s=["alex","seven"]转换为元组
    # s=["alex","seven"]
    # t1=tuple(s)
    # print(t1)
    # d. 将元组 s=("alex","seven")转换为列表
    # s=("alex","seven")
    # l1=list(s)
    # print(l1)
    # e. 将列表 s=["alex","seven","zhansan","lisi"]转换成字典,而且字典的key按照10开始向后递增。
    # s=["alex","seven","zhansan","lisi"]
    # dic={}
    # for k1,v1 in list(enumerate(s,10)):
    # dic.setdefault(k1,v1)
    # print(dic)
    # 9.元素和分类
    # 有如下值的结合[11,22,33,44,55,66,77,88,99,90]将所有大于66的值保存在字典的第1个key值中,小于66保存在第2个key值中。即
    # {"k1":大于66的所有值,"k2":小于66的所有值}
    # list1=[11,22,33,44,55,66,77,88,99,90]
    # li1=[]
    # li2=[]
    # for v in list1:
    # if v <66:
    # li1.append(v)
    # else:
    # li2.append(v)
    # dic={"k1":li1,"k2":li2}
    # print(dic)
    # 10输出商品列表,用户输入序号,显示用户选中的商品。
    # 商品 li =["手机","电脑","鼠标","游艇","飞机"]
    # a.允许用户添加商品
    # li =["手机","电脑","鼠标","游艇","飞机"]
    # bool1=True
    # while bool1:
    # ip1 = input("请输入要添加的商品:")
    # if ip1=="q" or ip1=="Q":
    # break
    # li.append(ip1)
    # print(li)
    # b.用户输入序号显示内容。
    # li =["手机","电脑","鼠标","游艇","飞机"]
    # dic={}
    # for k1,v1 in list(enumerate(li,1)):
    # dic.setdefault(k1,v1)
    # xh=input("输入序号查物品:")
    # print(dic.get(int(xh),"没有此物品"))
    # print(dic)
    # 11.用户交互显示类似省市县N级联动的选择。
    # a.允许用户增加内容。
    # # 国={省1:{市1:[县1]},市2:[县2]},省2:{市3:[县3]},市4:[县4]}}
    # # dic={}
    # # shi={}
    # # xian=[]
    dic = {"河北省": {"邯郸": ["鸡泽县", "邱县", "永年县"], "保定": ["郸县", "肥县"], "邢台": ["馆县", "陶涉县", "广县"],
    },
    "河南省": {"郑州": ["平成县", "魏安县"], "瓦房店": ["磁漳县", "临县"], "安阳": ["周大县", "名曲县"]}}
    # print(dic)
    # bool1=True
    # while bool:
    # ipname=input("输入Q或q将退出,请输入要增加的名称:")
    # if ipname =="q" or ipname =="Q":
    # break
    # panduan = input("要增加的是省?市?还是县:")
    # if panduan == "省":
    # dic.setdefault(ipname, {})
    # elif panduan == "市":
    # sheng = input("要在哪个省增加市区:")
    # shengkey = dic.get(sheng, "没有找到")
    # if shengkey == "没有找到":
    # print("没有这个省,请先增加")
    # shengkey.setdefault(ipname, [])
    # elif panduan == "县":
    # sheng = input("要增加在哪个省:")
    # shengkey = dic.get(sheng, "没有找到")
    # if shengkey == "没有找到":
    # print("没有这个省,请先增加")
    # inpshi = input("要加在哪个市区下:")
    # shikey = shengkey.get(inpshi, "没有这个市")
    # shikey.append(ipname)
    # else:
    # print("输入有误,请重新输入")
    # print(dic)
    # b.允许用户选择查看某一个级别的内容
    二次修改:
    print(dic)
    bool1=True
    while bool:
    ipname=input("输入Q或q将退出,请输入要增加的名称:")
    if ipname =="q" or ipname =="Q":
    break
    if ipname.endswith("省"):
    dic.setdefault(ipname, {})
    elif ipname.endswith("市"):
    sheng = input("要在哪个省增加市区:")
    shengkey = dic.get(sheng, "none")
    if shengkey == "none":
    print("没有这个省,请先增加")
    shengkey.setdefault(ipname, [])
    elif ipname.endswith("县"):
    sheng = input("要增加在哪个省:")
    shengkey = dic.get(sheng, "none")
    if shengkey == "none":
    print("没有这个省,请先增加")
    continue
    else:
    inpshi=input("请输入增加在那个市区:")
    shikey = shengkey.get(inpshi, "none")
    if shikey=="none":
    print("没有找到这个市")
    continue
    else:
    city=shengkey.get(inpshi)
    city.append(ipname)
    else:
    print("输入有误,请重新输入")
    print(dic)


    不太理解此题的意思,听完课再做

    # 12.列举布尔值是False的所有值
    # None,[],(),{},0
  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/Centwei/p/9567374.html
Copyright © 2020-2023  润新知