!1、有两个列表 l1 = [11,22,33] l2 = [22,33,44] a.获取内容相同的元素列表 for i in l1: if i in l2: print(i) # 返回结果 22 33 b.获取l1中有,l2中没有的元素列表 for i in l1: if i not in l2: print(i) # 返回结果 11 c.获取l2中有,l1中没有的元素列表 for i in l2: if i not in l1: print(i) # 返回结果 44 d.获取l1和l2中内容都不同的元素 for i in l1: if i not in l2: print(i) for i in l2: if i not in l1: print(i) # 返回结果 11 44 !2、有1、2、3、4、5、6、7、8、8个数字,能组成多少个互不相同且无重复数字的两位数? count = 0 for x in range(1,9): for y in range(1,9): if x != y: count = count + 1 print(count) # 返回结果 56 !3、输出一份99乘法表 方法一: for x in range(1,10): for y in range(1,x+1): #剔除相同的结果输出 print(str(x) + ' * ' + str(y) + ' = ' + str(x*y)) 方法二: string = '' for x in range(1,10): for y in range(1,x+1): string += str(x) + ' * ' + str(y) + ' = ' + str(x*y)+' ' print(string) string = '' # 循环但每行都是清空前序重新再执行循环结果 # 返回结果 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 !4、列表组合[1,2,4,5,6],多少种不同样的,数字不重复的组合 li = [1,2,4,5,6] count = 0 for x in li: for y in li: if x != y: count = count + 1 print('计数' + '=' + str(count)) # 返回结果 计数=20 !5、用python开发程序自动计算方案: 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡都必须要有 问:公鸡、母鸡、小鸡要买多少只刚好凑足100文钱? for a in range(1,20): for b in range(1,33): for c in range(1,100): if a + b + c == 100: if a*5 + b*3 + c/3 == 100: print(a,b,c) # 返回结果 4 18 78 8 11 81 12 4 84 !6、查找列表中元素,移除每个元素的空格,并查找以a或A开头,并且以c结尾的所有元素 li = ['alec','aric','Alex','Tony','rain'] tu = ('alec',' aric','Alex','Tony','rain') dic = {'k1':'alex','k2':'aric', 'k3':'Alex','k4':'Tony'} for i in li: if i[0] == 'a' or i[0] == 'A': if i[3] == 'c': print(i) # 返回结果 alec aric for i in tu: i = i.strip(' ') if i[0] =='a' or i[0] == 'A': if i[3] == 'c': print(i) # 返回结果 alec aric !第三题欠着####################################### !7、写代码,有如下元祖,按照要求实现每一个功能 tu = ('alex','eric','rain') a、计算元祖长度并输出 b、获取元祖的第2个元素,并输出 c、获取元祖的第 1-2 个元素,并输出 d、请使用for输出元祖的元素 e、请使用for、len、range输出元祖的索引 f、请使用enumrate输出元祖元素和序号(序号从10开始) print(len(tu)) print(tu[2]) print(tu[1:2]) for i in tu: print(i) for l in range(len(tu)): print(l) for l, i in enumerate(tu,10): print(l,i) # 返回结果(e) # 10 alex # 11 eric # 12 rain !8、有如下变量,请实现要求的功能 tu = ('alex',[11,22,{'k1':'y1','k2':['age','name'],'k3':(11,22,33)},44]) a、讲述元祖的特性 #一级元素不能被修改 b、请问tu变量中的第一个元素‘alex’是否可被修改? #不能 c、请问tu变量中的’k2‘对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素’Seven‘ #列表,可以被修改 l = tu[1][2]['k2'] l.extend(['Seven']) print(l) # 返回结果 ['age', 'name', 'Seven'] d、请问tu变量中的’k3‘对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素’Seven‘ #元祖,不可以被修改 !9、有以下列表: nums = [2,7,11,15,1,8,7] 请找到列表中任意两个元素相加能够等于9的元素组合,如[(0,1),(4,5)] a = [] for x in nums: for y in nums: if x + y == 9: a.append((x,y)) print(a) # 返回结果 [(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)] !10、分页显示内容 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 = [] for i in range(1,302): temp = {'name':'alex'+str(i),'email':'alex'+str(i)+'@live.com','pwd':'pwd'+str(i)} user_list.append(temp) print(user_list) #每页显示10条数据 s = input('请输入页码:') s = int(s) # user_list[0,10] 1 # user_list[10,20] 2 # user_list[20,30] 3 start = (s-1)*10 end = s*10 result = user_list[start:end] for item in result: print(item,type(item))