练习题

#!/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
posted @ 2018-08-31 18:30  菜鸟阿呆  阅读(242)  评论(0编辑  收藏  举报