day13
13、有两个列表
l1=[11,22,33]
l2=[22,33,44]
a.获取内容相同的元素列表
l4=[]
for item1 in l1:
for item2 in l2:
if item1==item2:
l4.append(item1)
#用in更简单
b.获取l1中有,l2中没有的元素列表
l5=[]
for item1 in l1:
for item2 in l2:
if item1==item2:
break
l5.append(item1)
#用not in 更简单
c.获取l2中有,l3中没有的元素列表
d.获取l1和l2中内容都不相同的元素
l7=[]
14、利用for循环和range输出
a.for循环从大到小输出100-1
range(100,1,-1)
for item in range:
print(item)
b.for循环从小到大输出1-100
range(1,100,1)
for item in range:
print(item)
c.while循环从大到小输出100-1
a=100
while a>0:
print(a)
a-=1
d.while循环从小到大输出1-100
b=1
while b<101:
print(b)
b+=1
15、购物车
功能要求:
17、有1、2、3、4、5、6、7、8 8个数字,能组成多少个互不相同且无重复字的两位数
l1=[1,2,3,4,5,6,7,8]
l2=[]
num=0
for item1 in l1: #for i in range(0,len(l1)) 更普遍
for item2 in l1:
if item1!=item2:
a=item*10+item2
if a not in l2:
l2.append(a)
num+=1
print(num)
18、利用for循环和range输出9*9乘法表
99 乘法表(*********)
for item1 in range(1,10):
s=""
for item2 in range(1,item1+1):
s+=str(item1)+"*"+str(item2)+"="+str(item1*item2)+"\t"
print(s)
20、用Python开发程序自动计算方案
公鸡5文钱一只,母鸡3文钱一只 ,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡,都必须有,问公鸡,母鸡,小鸡买多少只
刚好凑足100文钱?
for i in range(1,100):
for j in range(1,100):
for k in range(1,100):
if (i+j+k==100)and(5*i+3*j+(1/3)*k=100):
print("i"+"="+str(i),"j"+"="+str(j),"k"+"="+str(k))
1、请用代码实现:利用下划线将列表的每个元素拼接成字符串,li=["alex","eric","rain"]
li=["alex","eric","rain"]
n="_".join(li)
print(n)
5、写代码,有如下元组,按照要求实现每一个功能
tu=("alex","eric","rain")
a.计算元组长度并输出
b.获取元组的第二个元素,并输出
c.获取元素1-2个元素并输出
d.请使用for输出元组的元素
e.请使用for、len、range、输出元组的索引
f.请使用enumrate输出元组元素和序号(序号从10开始)
tu=("alex","eric","rain")
cou=0
for item in tu:
con+=1
print(con) #或者len(tu)
v=tu[1]
print(v)
print(tu[0:2])
for item in tu:
print(item)
for item in range(1,len(tu)):
print(item)
6、有如下变量,请实现要求的功能
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[1][2]["k2"]=["age","name","seven"]
元组 不可以
19.有一下列表
nums=[2,7,11,15,1,8,7]
请找出列表中任意两个元素相加等于9的元组集合,例如[(0,1),(4,5)]
nums=[2,7,11,15,1,8,7]
nu=[]
for i in range(0,len(nums)):
for j in range(i+1,len(nums)):
if nums[i]+nums[j]==9:
if (nums[i],nums[j]) not in nu:
nu.append((nums[i],nums[j]))
print(nu)
3、写代码,有如下列表,按照要求实现每一功能
li=["alex","eric","rain"]
a计算列表长度并输出
b列表中追加元素"seven",并输出添加后的列表
c请在列表的第一个位置插入元素"tony",并输出添加后的列表
d请修改列表第二个位置的元素为"kelly",并输出修该后的列表
e请删除列表中的元素"eric",并输出修改后的列表
f请删除列表中第二个元素,并输出删除的元素的值和删除元素后的列表
g 请删除列表中的第三个元素,并输出删除元素后的列表
h请删除列表中的第2-4个元素,并输出删除元素后的列表
i请将列表所有的元素反转,并输出反转后的列表
j请使用for len range输出列表的索引
k请使用enumrate输出列表元素和序号(序号从100开始)
l请使用for循环输出列表的所有元素
li=["alex","eric","rain"]
print(len(li))
li.append("seven")
print(li)
li.insert(0,"tony")
print(li)
li[1]="kelly"
print(li)
li.remove("eric")
print(li)
v1=li.pop(1)
print(v1,li)
del li[2]
print(li)
16、分页显示内容
a通过for循环创建301条数据,数据类型不限,如:
alex-1 alex1@live.com pwd1
alex-2 alex2@live.com pwd2
alex-3 alex3@live.com pwd3
b提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
每页显示10条数据
用户输入页码是非十进制数字,则提醒输入内容格式错误
user_list=[
{"name":"alex-1","emial":"alex1@live.com",""},
{"name":"alex-1","emial":"alex1@live.com","pwd":"pwd1"},
{"name":"alex-1","emial":"alex1@live.com","pwd":"pwd1pwd":"pwd1"},
{"name":"alex-1","emial":"alex1@live.com","pwd":"pwd1"},
{"name":"alex-1","emial":"alex1@live.com","pwd":"pwd1"},
{"name":"alex-1","emial":"alex1@live.com","pwd":"pwd1"},
]
u=[]
for i in range(1,302):
temp={"name":"alex"+str(i),"emial":"alex"+str(i)+"@live.com","pwd+":"+pwd"+str(i)}
u.append(temp)
print(u)
p=input("请输入页码")
p=int(p)
for i in range(1,11):
print(u[(p-1)*10+int(i)-1])
2018-08-16