day12 2018.05.07
1、请用代码实现,利用下划线将列表的每一个元素拼接成字符串,li = ['alex',‘eric’,'rain']
li = ['alex','eric','rain']
print("_".join(li))
2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。
li = ["a lec","ada c","Alex","Tony "," rain"]
tu = ("alec","adad","Alex","Tony","rain")
dic = {"k1":"alec","k2":"adad","k3":"Alex","k4":"Tony","k5":"rain"}
print("改变以前的li:",li)
#移除空格
for item in li:
li[li.index(item)]=item.replace(" ","")
print("改变后的li:",li)
for item in li:
if (item.startswith("a") or item.startswith("A")) and item.endswith("c"):
print("列表li以A或a开头c结尾的元素:",item)
3、写代码,有如下列表,按照要求实现每一个功能
li = ["alex","eric","rain"]
a.计算列表长度并输出
print(li.__len__())
b.列表中追加元素“seven”,并输出添加后的列表
li.append("seven")
print(li)
c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
li.insert(0,"Tony")
print(li)
d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
li.insert(1,"Kelly")
print(li)
e.请删除列表中的元素“eric”,并输出修改后的列表
li.remove("eric")
print(li)
f.请删除列表的第2个元素,并输出删除的元素的值和删除元素后的列表
li.pop(1)
print(li)
g.请删除列表中的第3个元素,并输出删除元素后的列表
v = li.pop(1)
print(li,v)
h.请删除列表中的第2至4个元素,并输出删除元素后的列表
del li[1:4]
print(li)
i.请将列表所有的元素反转,并输出反转后的列表。
li.reverse()
print(li)
j.请使用for、len、range输出列表的索引
for item in range(li.__len__()):
print(item,li[item])
k.请使用enumrate输出列表元素和序号(序号从100开始)
for i,item in enumerate(li):
print(i+100,item)
l.请使用for循环输出列表的所有元素
for item in li:
print(item)
4、写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello",'seven',["moon",["h","kelly"],'all'],123,446]
a.请根据索引输出“Kelly”
print(li[2][1][1])
b.请使用索引找到'all'元素并将其修改为“ALL”.
li[2][2]="ALL"
print(li)
5、写代码,有如下元祖,按照要求实现每一个功能
tu = (‘alex’,'eric','rain')
a.计算元祖长度并输出
print(tu.__len__())
b.获取元祖的第2个元素,并输出
print(tu[1])
c.获取元祖的第1~2个元素,并输出
print(tu[0:2])
d.请使用for输出元祖的元素
for item in tu:
print(item)
e.请使用for、len、range输出元祖的索引
for item in range(tu.__len__()):
print(item)
f.请使用enumrate输出元祖元素和序号(序号从10开始)
for i,item in enumerate(tu):
print(i,item)
6、有如下变量,请实现要求的功能
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")
print("修改后的tu",tu)
d.请问tu变量中的“k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
"k3"对应的是元祖,不可以被修改。
7、字典
dic = {'k1':"v1",'k2':"v2",'k3':[11,22,33]}
a.请循环输出所有的key
for item in dic:
print(item)
b.请循环输出所有的value
for item in dic.values():
print(item)
c.请循环输出所有的key和value
for item in dic.items():
print(item)
d.请在字典中添加一个键值对,“k4”:"v4",输出添加后的字典
dic.update({"k4":"v4"})
print(dic)
dic.update(k4="v4")
print(dic)
e.请在修改字典中“k1”对应的值为"alex",输出修改后的字典
dic["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 = list(s)
print(s)
b.将字符串s="alex"转换成元祖
s = tuple(s)
print(s)
c.将元祖tu=('Alex',"seven")转换成列表
l = list(tu)
print(l)
d.将列表li=["alex",“seven”]转换成字典且字典的key按照10开始向后递增
li=["alex","seven"]
dic = {}
print(dic)
for i in range(10,10+li.__len__()):
dic[i] = li[i-10]
print(dic)
9、元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
li = [11,22,33,44,55,66,77,88,99,90]
dic = {"k1":[],"k2":[]}
print(dic)
for item in li:
if item > 66:
dic["k1"].append(item)
elif item < 16:
dic["k2"].append(item)
print(dic)
10、输出商品列表,用户输入序号,显示用户选中的商品
商品li=["手机",“电脑”,“鼠标垫”,“游艇”]
a.允许用户添加商品
b.用户输入序号显示内容
dic={"1":"手机","2":"电脑","3":"鼠标垫","4":"游艇"}
print(dic)
k = input("请输入商品序号:")
print(dic[k])
goods = input("请输入商品名称:")
dic.update({str(dic.__len__()):goods})
print(dic)
11、用户交互显示类似省市县N级联动的选择
a.允许用户增加内容
b.用户输入序号显示内容
12、列表布尔值是False的所有值
None,0,"",[],{},()
13、有两个列表
l1=[11,22,33]
l2=[22,33,44]
a.获取内容相同的元素列表
b.获取l1中有,l2中没有的元素列表
c.获取l2中有,l1中没有的元素列表
d.获取l1和l2中内容都不同的元素
14、利用for循环和range输出
a.for循环从大到小输出1-100
b.for循环从小到大输出100-1
c.while循环从大到小输出1-100
d.while循环从小到大输出100-1
15、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账号余额不足,否则,购买成功。
goods=[
{“name”:"电脑","price":1999},
{“name”:"鼠标","price":10},
{“name”:"游艇","price":20},
{“name”:"美女","price":998},
]
16、分页显示内容
a.通过for循环创建301条数据,数据类型不限,如:
alex-1 alex-1@live.com pwd1
alex-2 alex-2@live.com pwd2
alex-3 alex-3@live.com pwd3
b.提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
每页显示10条数据
用户输入页码是非十进制数字,则提示输入内容格式错误
17、有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的两位数
18、利用for循环和range输出9*9乘法表
19、有一列表,nums=[2,7,11,15,1,8,7]
请找到列表中任意两个元素相加能够等于9的元素集合,
20、用Python开发程序自动计算方案:
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡,小鸡都必须要有,请问公鸡、母鸡、小鸡要买多少只刚好凑足100文钱?