********************练习*****************************
"""
"""
Q:获取列表中相同的元素
获取n1中有,n2中没有的元素
获取n1和n2中不同的元素
"""
# n1 = [11,22,33]
# n2 = [22,33,44]
# for s in n1: #将列表中的元素循环出来,再与其它列表进行比较
# #if s in n2: #判断n1中的每个元素是否在n2中,在则输出该元素
# if s not in n2: #同理判断不在的情况
# print(s)
# for s in n2:
# if s not in n1: #获取不同元素,先将每个列表循环得到每个元素,再判断每个元素是否在另一个列表中
# print(s)
"""
Q:将1,2,3,4,5,6,7,8两两组合,能得到多少个互不相同且不重复的两位数
"""
# num = 0
# for i in range(1,9):
# for s in range(1,9): #先将数字循环输出两遍,再将其赋值给不同变量
# if i != s: #然后判断这两个变量是否相等
# num += 1 #如果不相等计数加一
# v = "%d%d" % (i,s) #用格式化操作替换,将不相等的数字组合在一起
# print(num,v)
"""
99乘法表
"""
# for i in range(1,10):
# t = "" #注意将空字符串放在循环里面,如果放在循环外面,第一次循环后就不在是否空字符串了,再次向里填内容时,就会在原有基础上再加,会造成前面的内容重复出现
# for s in range(1,i+1): #根据上个循环得出的数再进行循环
# v = str(s) + "*" + str(i) + "=" + str(i * s) + "\t" #将得到的数字,运算符转化成字符串,再将字符串加在一起,并不能将他们直接做数学计算
# t += v #通过给得到的字符添加制表符,然后再将其加进一个空字符串得到一个表格形式的内容
# print(t)
# for i in range(1,10):
# for s in range(1,i+1): #用于去重
# v = str(s) + "*" + str(i) + "=" +str(i*s) + "\t"
# print(v,end="") #print默认参数是末尾自动换行,可以设置end为空字符串,使其不换行,将内容放在一行显示
# print("\n",end="") #使得到的内容根据嵌套的循环,进行换行
"""
Q:公鸡5块钱一只,母鸡3块钱一只,小鸡3只一块钱,用100块买100只鸡,公鸡,母鸡,小鸡都有,怎么买凑够100块
"""
# for x in range(1,100//5): #分别循环每种鸡能在要求范围内买到的最大数量
# for y in range(1,100//3): #注意取整符号是//,除法是/
# for z in range(1,100):
# if x + y + z == 100 and 5*x + 3*y + z/3 == 100: #再判断每种鸡买的数量符合要求的组合情况
# print(x,y,z)
"""
将列表的内容以 _ 分割
"""
# li = [123,"alex"] #列表中有数字,不能直接使用字符串的类方法
# v = [str(i) for i in li] #先for循环,再将循环得到的转换成字符串,再将它们放在列表中
# n = "_".join(v) #用join方法插入分割
# print(n)
# li = [123,"alex"]
# v = [] #循环外赋值一个空列表
# for i in li: #for循环得到每个元素
# s = [str(i)] #将每个元素转换成字符串
# v += s #将得到的字符串放在空列表中,因为是将列表每个元素分割,不是将单个字符都分割
# n = "_".join(v)
# print(n) #注意缩进,这里是输出的是最后循环的内容,不缩进会将每次循环的都输出一遍
"""
输出元组元素,并将元素排序,利用enumerate方法,方法参数填变量名,起始序号,不填,默认是0开始
"""
# tu = ("alex","yue","yi")
# for i,v in enumerate(tu,10): #enumerate将元组按照序号排列,并将序号赋值给第一个变量,元素赋值给第二个变量,后面的数值参数是规定从几开始排序
# print(i,v)
"""
将下列列表中的元素任意两个相加等于9,并以元组的形式放在列表中,如[(1,8),(2,7)]
"""
# li = [1,2,8,4,5,6,7]
# v = []
# for i in li:
# for j in li: #分别循环后,做相加数值判断
# if i + j == 9:
# v.append((i,j)) #将符合条件的放在元组中,再添加到空列表中,注意,列表不需要再赋值给新的变量,因为列表是可变的
# print(v)
# for i in range(len(li)):
# for j in range(len(li)): #找出符合条件的元素的位置
# if li[i] + li[j] == 9:
# v.append((i,j))
# print(v)
"""
创建301条数据,并将其以10条为一页分页,用户输入那一页后显示
"""
# li = []
# for i in range(1,302):
# n = {"name":"alex"+str(i),"email":"alex" + str(i),"pwd":"password" + str(i)}
# li.append(n) #循环创建数据
# while True:
# v = input("请输入页码(1-31):")
# v = int(v)
# start = (v-1) * 10 #每页显示10条,对用户输入的页码进行公式计算可得用户查找页的开始和结束位置
# end = v * 10
# print(s)
# s = li[start:end] #根据开始,结束位置进行索引