python 05 练习

1. 有1-8个数字 能组成多少个互不相同且无重复的两位数

li=[1,2,3,4,5,6,7,8]
for li1 in li:
  for li2 in li:
      if(li2 != li1):
          print(str(li1) +str(li2))

2.有两个列表

li1=[11,22,33]  li2=[22,33,44]

1) 获取内容相同的元素列表

li1=[11,22,33]
li2=[22,33,44]
li_new=[]
for item1 in li1:
    if item1 in li2:
        li_new.append(item1)
print(li_new)

2)获取li1中有 li2中没有的元素列表

li1=[11,22,33]
li2=[22,33,44]
li_new=[]
for item1 in li1:
    if item1 not in li2:
        li_new.append(item1)
print(li_new)

3)获取li1和li2中内容不同的元素

li1=[11,22,33]
li2=[22,33,44]
li_new=[]
for item1 in li1:
    if item1 not in li2:
        li_new.append(item1)
for item2 in li2:
    if item2 not in li1:
        li_new.append(item2)
print(li_new)

3.做出99乘法表

   1)正常做法版

string=""
for item1 in range(1,10):
    string = ""
    for item2 in range(1,10):
        if(item2<=item1):
            string+=str(item2)+"*"+str(item1)+"="+str(item2*item1)+"\t"
    print(string)

   2)代码极简版

for item1 in range(1,10):
    for item2 in range(1,item1+1):
            print(str(item2)+"*"+str(item1)+"="+str(item2*item1)+"\t",end="")
    print("\n",end='')

   注:print正常的参数是(sep=' ', end='\n') 意思是默认结尾换行 print(obj1,obj2)两个元素时 中间(sep)为空格

          此代码将结尾做了改变 输出格式化

4.用python开发程序自动计算方案

           公鸡5文钱一只,母鸡3文钱一只,小鸡三只1文钱,用100文买100只鸡,其中公鸡母鸡小鸡都要有,问各买多少只刚好凑足100文钱

for x in range(1,100//5):#5文钱一只 一共100文 所以公鸡不能超过20只
    for y in range(1, 100 // 3):
        for z in range(1, 99):#一共100只 每种都要有 小鸡不可能超过98只
            if(x+y+z==100 and 5*x+3*y+(1/3)*z==100):
            print("公鸡"+str(x)+"只,母鸡"+str(y)+"只,小鸡"+str(z)+"")

5.利用下划线 将列表中所有的元素拼接成字符串

li=["aa","bb",123]
for i in (0,len(li)-1):
    li[i]=str(li[i])
v="_".join(li)
print(v)
li=["aa","bb",123]
for i in (0,len(li)-1):
    li[i]=str(li[i])
v="_".join(li)
print(v)

6.已知一个列表 用enumrate输出元素和序号 从100开始

li=["aa","bb",123]
for i,q in enumerate(li,100):
    print(i,q)

  enumerate(sequence, [start=0])  start -- 下标起始位置。

7.做一个长度为301的列表 并且实现分页功能 一页10条数据

li=[]
for item in range(1,302):
   temp={id:"python"+str(item),"name":"num"+str(item),"age":str(item)}
   li.append(temp)

while True:
    s=input("请输入页码不超过31:")
    s=int(s)
    if(s>31):
        print("输入错误")
        continue
    star=(s-1)*10
    end=s*10
    result=li[star:end]
    for item in result:
        print(item)

猜你喜欢

转载自www.cnblogs.com/lzr3579/p/9257939.html