python-day4_习题

#习题1:有两个列表,获取其中内容相同的元素列表,l1中有,l2中没有的元素列表,内容都不同的列表
# l1 = [11,22,33]
# l2 = [22,33,44]
# a = []
# for m in l1:
#     if m in l2:
#         a.append(m)
# print('l1和l2中都有的元素列表:',a)
# b = []
# for m in l1:
#     if m not in l2:
#         b.append(m)
# print('l1中有,l2中没有的元素列表:',b)
# for m in l2:
#     if m not in l1:
#         b.append(m)
# print('l1和l2中元素不同的列表:',b)

#习题2,有1,2,3,4,5,6,7,8,8个数字,能组成多少个互不相同且无重复数字的两位数
# li = [1,2,3,4,5,6,7,8,8]
# for i in li:
#     if li.count(i) > 1:
#         li.remove(i)
# print(li)
# all = []
# for i in li:
#     for j in li:
#         k = str(i) + str(j)
#         if i != j:
#             all.append(int(k))
# print(all)
# print(len(all))

#习题3,99乘法表
# for i in range(1,10):
#     s = ''
#     for j in range(1,i+1):
#             print(str(j) + 'x' + str(i) + '=' + str(i*j),end='\t')
#     print()

#习题4,公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡都必须要有,问公鸡、母鸡、小鸡各多少只刚好凑足100文钱。
# gong = 100 // 5
# muji = 100 // 3
# xiaoji = 300
# for i in range(1,gong+1):
#     for j in range(1,muji+1):
#         for k in range(3,301,3):
#             price = i*5 + j*3 + k // 3
#             count = i+j+k
#             if price == 100 and count == 100 :
#                 print('公鸡:',i,'母鸡:',j,'小鸡:',k)

#习题5,代码实现使用下划线将列表中每一个元素拼接成字符串
# li = ['alex','eric',123]
# for i in range(0,len(li)):
#     li[i] = str(li[i])
# s = '_'.join(li)
# print(s)

# l1 = []
# for i in li:
#     l1.append('_'.join(i))
# print(l1)

#习题6,查找列表中元素,移除每个元素的空格,并查找以a或A开头,以c结尾的所有元素
# li = ["alec"," aric","Alex","Tony","rain"]
# tu = ("alec"," aric","Alex","Tony","rain",)
# dic = {'k1':'alec','k2':' aric','k3':'Alex','k4':'Tony'}

# for k,i in dic.items():
#     i = i.strip()
#     if (i.startswith('a') or i.startswith('A')) and i.endswith('c'):
#         print(k,i)

#习题7,请找出列表中任意两个元素相加能够等于9的元素集合
# nums = [2,7,11,15,1,8,7]
# li =[]
# for i in range(0,len(nums)):
#     for j in range(i+1,len(nums)):
#         if nums[i] + nums[j] == 9:
#             # l =[i,j]
#             li.append((i,j))
# print(li)

#习题8 列表操作
# li = ['alex','eric','rain']
# print('1.列表长度:',len(li))
# li.append('seven')
# print('2.new list', li)
# li.insert(0,'Tony')
# print('3.new list', li)
# li[1] = 'Kelly'
# print('4.new list', li)
# l1 = li.copy()
# li.remove('eric')
# print('5.new list', li)
# v = li.pop(1)
# print('5.del value:', v)
# li.pop(2)
# print('6.new list', li)
# del l1[1:4]
# print(l1)
# l1.reverse()
# print(l1)

#习题9,通过for循环创建301条数据,数据类型不限,如:
# alex-1    alex1@live.com  pwd1
# alex-2    alex2@live.com  pwd2
# alex-3    alex3@live.com  pwd3
#提示用户,请输入要查看的页码,当用户输入指定页码,则显示指定数据。每页显示10条数据,用户输入页码是非十进制数字,则提示输入格式错误
# li = []
# for i in range(1,302):
#     di = {'name':'alex-'+str(i),'email':'alex'+str(i)+'@live.com','pwd':'pwd'+str(i)}
#     li.append(di)
# while True:
#     page = input('请输入需要查看的页码:')
#     if not page.isdecimal():
#         print('输入格式错误,请输入十进制数字')   
#     elif int(page) > 31:
#         print('页数超出总数')
#     else:
#         page = int(page)
#         start = page*10-10
#         end = page*10
#         for n in li[start:end]:
#             print(n)

# while True:
#     page = input('请输入需要查看的页码:')
#     if not page.isdecimal():
#         print('输入格式错误,请输入十进制数字')   
#     elif int(page) > 31:
#         print('页数超出总数')
#     else:
#         page = int(page)
#         break
# if page*10 < len(li):
#     for n in range(page*10-10,page*10):
#         print(li[page*10-10:page*10])
# else:
#     for m in range(page*10-10,len(li)):
#         print(li[m])
posted @ 2025-02-11 11:30  小学生132  阅读(20)  评论(0)    收藏  举报