zoukankan      html  css  js  c++  java
  • 方法的常见使用(习题)


    1.有两个列表
    # l1 = [11,22,33]
    # l2 = [22,33,44]
    # a. 获取内容相同的元素列表
    # b. 获取 l1 中有, l2 中没有的元素列表
    # c. 获取 l2 中有, l1 中没有的元素列表
    # d. 获取 l1 和 l2 中内容都不同的元素
    l1 = [11,22,33]
    l2 = [22,33,44]
    for i in l2:
    if i not in l1:
    print(i)
    for i in l1:
    if i not in l2:
    print(i)
    count =0

    2.获取1,2,3,4,5,6,7,8,8个数中有多少种不重复的两位数组合
    (方法1)for i in range(1, 9): 循环
    for v in range(1, 9): 嵌套循环
    if i !=v: 去重
    count += 1
    # count = count -8(也为去重作用,因有8个元素,故共8个重复的)
    print(count)

    (方法2)count =0
    ls = [3,5,8,9]
    for i in range(0, len(ls)):
    for v in range(0, len(ls)):
    if i !=v:
    count += 1
    # count = count -8
    print(count)

    3.99乘法表
    (方法1)for i in range(1,10): #i为1-9中的值
    string = ""
    for j in range(1,i+1): #为了去掉i和j取值重复,故变为i+1
    string +=str(j) + " * "+str(i) + " = " +str(i*j)+"\t"
    print(string)


    (方法2)for i in range(1,10):
    for j in range(1,i+1):
    print(str(j) + " * "+str(i) + " = " +str(i*j)+"\t",end="")
    print("\n",end="") #每次循环输出后换行再次进行下一次循环


    注意:print("aaa",end="") #若不加end“”,则默认为end“\n”,输出默认换行,可重新给end赋值
    print("bbb")

    4.公鸡5文钱1只,母鸡3文钱一只,小鸡3只1文钱,用100文钱买100只鸡,有多少种买法
    for i in range(0,l-1):
    for v in range(i+1,l):
    print(li[i],li[v])
    for x in range(1,100//5): #都可写成range(1,100),但为了减少循环次数,故取总价除以单价的商(取整)为最大循环次数
    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: #需同时满足条件:总数为100;总价为100
    print(x,y,z)


    5.利用下划线将列表中的每个元素拼接成字符串
    li = ['alex','eric',123]
    li[2] = str(li[2]) # 因数字不能直接和字符串连接,把列表中数字转换成字符串
    v = "_".join(li)
    print(v)


    6.a.获取元祖的第1-2个元素,并输出
    tu = ('alex', 'eric', 'rain')
    print(len(tu))
    print(tu[2])
    print(tu[1:])
    #step 为正

    #b.请使用for输出元祖的元素
    print(tu[1:90])
    for elem in tu:
    print(elem)

    # c.请使用for、len、range输出元祖的索引
    for idx in range(len(tu)):
    print(idx)

    # d.请使用enumerate输出元祖元素和序号(序号从10开始)
    for idx, elem in enumerate(tu, 10):
    print(idx, elem)
    tu =(
    "alex",
    [
    11,
    22,
    {
    "k1":'v1',
    "k2":["age","name"],
    "k3":(11,22,33)
    },
    44
    ]
    )
    tu[1][2]["k2"].append("")


    nums = [2,7,11,15,1,8,7]
    a =[]
    for i in range(len(nums)):
    for j in range(len(nums)):
    if nums[i] + nums[j] ==9:
    a.append((i,j,))
    print(a)

    7.按要求操作列表
    li = ["sdsdsd","eric"]
    print (len(li)) #计算列表的长度
    li.append("dsad") #在列表中追加元素
    li.insert(0,"dsad") #在列表的第一个位置插入元素
    li.remove("eric") #删除列表中的元素
    v = li.pop(1) #删除列表中的第二个元素
    print(li,v) #输出删除后列表和删除的元素


    #将列表所有的元素反转,并输出反转后的结果
    v = li.reverse()
    print(V)

    #使用 for、range、len输出列表的索引
    for i in range(len(li)):
    print(i)


    #使用enumerate输出列表的元素和序号(序号从100开始)
    for i,q in enumerate(li,100):
    print(i,q)

    #使用for循环输出列表的所有元素
    for i in li:
    print(i)


    8. 分页
    # 通过for循环创建301条数据,数据类型不限
    user_list = [
    ]
    for i in range(1,302):
    temp = {'name': 'alex'+str(i), 'email': 'alex@lve.com' + str(i), 'pwd': 'pwd'+str(i)}
    user_list.append(temp)

    while True:
    # 每页显示10条数据
    s = input("请输入1,2,3-31页码:")
    s = int(s)
    # user_list[0,10] 1 第1页应显示1—10条
    # user_list[10,20] 第2页应显示10—20条
    # user_list[20,30] 3
    start = (s-1) * 10 #增加变量start每页开始条数
    end = s * 10 #增加变量end每页结束条数
    result = user_list[start: end] #列表结果应显示开始的条数到结束的条数的值,通过切片把结果拿出来
    for item in result: #增加for循环
    print(item,type(item)) #输出item,并显示输出方式
  • 相关阅读:
    LeetCode—-Sort List
    LeetCode——Longest Consecutive Sequence
    LeetCode——single-number系列
    freeswitch源码阅读 之 sofia模块
    freeswitch 内核模块开发
    FreeSwitch B2B 状态转换流程
    freeswitch嵌入python脚本
    freeswitch注册过程分析
    freeswitch对接其它SIP设备
    freeswitch模块之event_socket
  • 原文地址:https://www.cnblogs.com/you-wei1/p/9693254.html
Copyright © 2011-2022 走看看