python基础知识练习题(二)
# 13、有两个列表
# a.获取内容相同的元素列表
# l1=[11,22,33]
# l2=[22,33,44]
li=[]
l1=[11,22,33]
l2=[22,33,44]
for item1 in l1:
if item1 in l2:
li.append(item1)
print(li)
# 结果
# [22, 33]
# b.获取l1中有,l2中没有的元素列表
li=[]
l1=[11,22,33]
l2=[22,33,44]
for item1 in l1:
if item1 not in l2:
li.append(item1)
print(li)
# 结果
# [11]
# c.获取l2中有,l1中没有的元素列表
li=[]
l1=[11,22,33]
l2=[22,33,44]
for item1 in l2:
if item1 not in l1:
li.append(item1)
print(li)
# 结果
# [44]
# d.获取l1和l2中内容都不同的元素
li=[]
l1=[11,22,33]
l2=[22,33,44]
for item1 in l1:
if item1 not in l2:
li.append(item1)
for item2 in l2:
if item2 not in l1:
li.append(item2)
print(li)
# 结果
# [11, 44]
# 17、有1、2、3、 4、5、6、7、8、8个数字。能组成多少个互不相同且无重复数字的两位数
count = 0
lv = [1, 2, 3, 4, 5, 6, 7, 8, 8]
for i1 in range(1, len(lv)):
for i2 in range(1, len(lv)):
if i1 != i2:
li = i1 * 10 + i2
print(li)
count += 1
print(count)
# 九九乘法表
for item1 in range(1, 10):
str1 = ''
for item2 in range(1, item1+1):
str1+=str(item2) + '*' + str(item1) + '=' + str(item1 * item2)+' '
print(str1)
# print的末尾是
print('alex',end='ss')
print('alex')
# 结果
# alexssalex
print('alex','caicai','yangzi',sep='帅')
# 结果
# alex帅caicai帅yangzi
# 20、公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡多少只正好凑够100文钱
# (1/3)i+3i+5i=
# 小鸡i只
# 母鸡j只
# 公鸡z只
l = 100
for z in range(1, l // 5):
for j in range(1, l // 3):
for i in range(1, 100):
if (i + j + z == 100) and (5 * z + 3 * j + (1 / 3) * i == 100):
if (i != 0 and j != 0 and z != 0):
print(i, j, z)
# 结果
# 78 18 4
# 81 11 8
# 84 4 12
# 1、下划线连接字符串,li=['杨紫','的','香蜜沉沉烬如霜']
li=['杨紫','的','香蜜沉沉烬如霜']
v='_'.join(li)
print(v)
# 结果
# 杨紫_的_香蜜沉沉烬如霜
li=['杨紫','的','香蜜沉沉烬如霜',123]
li[3]=str(li[3])
v='_'.join(li)
print(v)
# 结果
# 杨紫_的_香蜜沉沉烬如霜_123
# # tu=('杨紫','的','香蜜沉沉烬如霜',123)
# a.计算元组长度并输出
# b.获取元组的第二个元素
# c.获取元素的第1-2个元素
# d.for输出元组
# e.for,len,range输出索引
# f.enumrate输出元组元素序号(序号从10开始)
tu=('杨紫','的','香蜜沉沉烬如霜',123)
print(len(tu))
print(tu[1])
print(tu[0:2])
##### d
for i in tu:
print(i)
#### e
for i in range(0,len(tu)):
print(i,tu[i])
# 结果
# 4
# 的
# ('杨紫', '的')
##### d
# 杨紫
# 的
# 香蜜沉沉烬如霜
# 123
#### e
# 0 杨紫
# 1 的
# 2 香蜜沉沉烬如霜
# 3 123
# 6.tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
# a. 讲述元祖的特性:元组具有列表的全部特性,不同的是,元组的元素不能修改
# b. 请问 tu 变量中的第一个元素 "alex" 是否可被修改?:不能修改。
# c. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
# a.元素一级元素不可修改
# b.不能
# c.列表,可以
tu = ("alex",
[11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11, 22, 33)}, 44])
tu[1][2]["k2"].append("Seven")
print(tu)
# 结果
# ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)}, 44])
#12、bool
# 6+1==》6=3+3
# 3括号{}、[]、()
#3个基本类型,整形、字符串、bool
# None
# 19.nums=[2,7,11,15,1,8,7]
# 列表形式两个元素和为9
li=[]
nums=[2,7,11,15,1,8,7]
for i in nums:
for j in nums:
if(i+j==9):
li.append((i,j))
print(li)
# 结果
# [(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)]
# 列表形式两个元素和为9的索引
li=[]
nums=[2,7,11,15,1,8,7]
for i in range(len(nums)):
for j in range(len(nums)):
if(nums[i]+nums[j]==9):
li.append((i,j))
print(li)
# 结果
# [(0, 1), (0, 6), (1, 0), (4, 5), (5, 4), (6, 0)]
# 10.li=['杨紫', '的', '香蜜沉沉烬如霜', 123]
li=['杨紫', '的', '香蜜沉沉烬如霜', 123]
print(len(li))
v=li.append("seven")
print(li)
# 第一位置插入"Tony"
li.insert(0,"Tony")
print(li)
# 结果
# 4
# ['杨紫', '的', '香蜜沉沉烬如霜', 123, 'seven']
# ['Tony', '杨紫', '的', '香蜜沉沉烬如霜', 123, 'seven']
# #删除“的”
li=['杨紫', '的', '香蜜沉沉烬如霜', 123]
li.remove("的")
print(li)
# # 结果
# # ['杨紫', '香蜜沉沉烬如霜', 123]
# #删除第二个元素
li=['杨紫', '的', '香蜜沉沉烬如霜', 123]
v=li.pop(1)
print(v,li)
# # 结果
# 的 ['杨紫', '香蜜沉沉烬如霜', 123]
# 反转
li = ['杨紫', '的', '香蜜沉沉烬如霜', 123]
li.reverse()
print(li)
# 结果
# [123, '香蜜沉沉烬如霜', '的', '杨紫']
#16.分页
# for创建301条数据,如:
# alex-1 alex1@live.com pwd1
# alex-2 alex2@live.com pwd2
# alex-3 alex3@live.com pwd3
user_list=[]
for i in range(1,302):
temp={'name':"alex"+str(i),"email":"alex" + str(i)+"@live.com","mima":"pwd" + str(i)}
user_list.append(temp)
# print(user_list)
# b.提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据
#
# 注意:
# -‐每页显示10条数据
# -‐用户输入页码是非十进制数字,则提示输入内容格式错误
while True:
s=input("请输入显示页码:")
s=int(s)
start=(s-1)*10
end=s*10
result =user_list[start:end]
for item in result:
print(item)