zoukankan      html  css  js  c++  java
  • 基础测试题(字符串、列表、元组、字典)

    1、元素分类

        有如下值集合  [11,22,33,44,55,66,77,88,99,90],将所有大于  66  的值保存至字典的第一个 key 中,将小于  66  的值保存至第二个 key 的值中。

    即:  {'k1':  大于 66 的所有值,  'k2':  小于 66 的所有值}

    代码1:

    a = [11,22,33,44,55,66,77,88,99]
    b = []
    c = []
    for i in a:
        if i >66:
            b.append(i)
        else:
            c.append(i)
    x = {"k1":c,"k2":b}
    print(x)

    代码2:

    l = [11,22,33,44,55,66,77,88,99,90]
    result = {}
    for item in l:
        if item < 66:
            if "k1" not in result:
                  result['k1'] = [item,]    # {'k1': [11,]}
            else:
                result['k1'].append(item)
        elif item > 66:
            if "k2" not in result:
                result['k2'] = [item, ]    # {'k1': [11,]}
            else:
                result['k2'].append(item)
    print(result)

    代码3:

    values = [11,22,33,44,55,66,77,88,99,90]
    value_dict = {'k1':[],'k2':[]}
    for i in values:
        if i > 66:
            value_dict['k1'].append(i)
        elif i < 66:
            value_dict['k2'].append(i)
    print(value_dict)

    2、1 2 3 4 5 6 7 8能组成多少个不同的两位数?

    代码:

    count = 0
    for i in range(1,9):
        for V in range(1,9):
            if i != V:
                print(i,V)
                count += 1
    print(count)

    #如果数据是列表[1,3,5,9]的形式,那么如下
    ls = [1,3,5,9]
    count = 0
    for i in range(0,len(ls)):
    for V in range(0,len(ls)):
    if i != V:
    count+=1
    print(count)

    3、有两个列表

    l1 = [11,22,33]
    l2 = [22,33,44]
    a. 获取内容相同的元素列表
    b. 获取 l1 中有, l2 中没有的元素列表
    c. 获取 l2 中有, l1 中没有的元素列表
    d. 获取 l1 和 l2 中内容都不同的元素

    代码:

    for i in l2:
        if i not in l1:
            print(i)
    for i in l1:
        if i not in l2:
            print(i)

    4、99乘法表

    代码1:

    for i in range(1,10):
        string = ""
        for j in range(1,i+1):
            string +=str(j) + " * "+str(i) + " = " +str(i*j)+"	"   #	为横向制表符(相当于4个空格)
        print(string)

    代码2:

    for i in range(1,10):
        for j in range(1,i+1):
            print(str(j) + " * "+str(i) + " = " +str(i*j)+"	",end="")     ##end表示不换行,如果去掉这个end将会所有的输出分别占一行
        print("
    ",end="")      ##此处也可以用print()替换,因为print自带一个换行。换行+不换行=什么都不输出+自动换行

    输出:

    5、输出两个不同数字的组合,且数字不能重复

    li = [1,2,3,4]
    l = len(li)
    for i in range(0,l-1):
         for v in range(i+1,l):
             print(li[i],li[v])

    输出:

    6、请用代码实现列表li=['alex','eric',123]元素之间用下划线连接起来

    如果列表有多个元素不是字符串,用for循环将其修改

    代码1:
    li=['alex','eric',123]
    li[2] = str(li[2])
    v = "_".join(li)
    print(v)

    代码2:

    li=['alex','eric',123]
    l = []
    for i in li:
        i = str(i)
        l.append(i)
    v = "_".join(l)
    print(v)

    输出:

     7、公鸡5文钱一只,母鸡3文钱一只,三只小鸡一文钱,总共要买一百只鸡,其中公鸡母鸡小鸡都要有,请问各买多少只才能凑足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)

    输出:

    8、使用for,len,range输出元组的索引,使用enumerate输出元组和序号(序号从10开始),第一个参数为可迭代对象,第二个参数为索引的起始位置

    enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    tu = ('alex','eric','rain')
    for i in range(len(tu)):
        print(i)
    
    for i,l in enumerate(tu,10):
        print(i,l)
    a
    = list(enumerate(tu)) b = list(enumerate(tu,10)) print(a) print(b)

    输出:

    9、有如列表num=[2,7,11,15,8,7],请找任意两个元素相加能够等于9的元素集合,索引

    代码1:输出元素

    num=[2,7,11,15,8,7]
    for i in num:
        for j in num:
            if i + j == 9:
                print(i,j)
    
    输出:
    2 7
    2 7
    7 2
    7 2

    代码2:输出元素

    num=[2,7,11,15,8,7]
    a = []
    for i in num:
        for j in num:
            if i + j == 9:
                a.append((i,j))
    print(a)
    
    输出:
    [(2, 7), (2, 7), (7, 2), (7, 2)]

     代码3:输出索引

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

    输出:

     10、分页显示内容,每页显示10条数据,提示用户需要查看的页码:当输入指定的页码则显示指定数据。

    user_list = []
    for i in range(1,302):
        temp = {'name':'alex' + str(i),'email':'alex@live.com' + str(i),'password':'pwd' + str(i)}
        user_list.append(temp)
    
    while True:
        s = input("请输入页数:")
        s = int(s)
        start = (s-1)*10
        end = s*10
        result = user_list[start:end]
        for item in result:
            print(item,type(item))

    输出:

  • 相关阅读:
    线程池参数详解
    线程池各个参数详解以及如何自定义线程池
    fastdfs 安装
    SQL 执行顺序
    《SQL 进阶教程》 查找局部不一致的数据
    redis 高性能的原因
    一致性hash
    环境部署数据库报错
    redis 常用命令
    redis 高级学习和应用场景
  • 原文地址:https://www.cnblogs.com/foever-lee/p/9982648.html
Copyright © 2011-2022 走看看