• 13.python基础试题(二)


    借鉴:https://www.cnblogs.com/shengyang17/p/8543712.html

       https://www.cnblogs.com/you-wei1/p/9693254.html

       

    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]
    li = []
    # a:
    # for i1 in l1:
    #     for i2 in l2:
    #         if i1 == i2:
    #             print(i1)
    # b:
    # for i in l1:
    #   if i not in l2:
    #      print(i)
    # c:
    # for i in l2:
    #   if i not in l1:
    #      print(i)
    # d:
    # for i1 in l1:
    #     if i1 not in l2:
    #         print(i1)
    # for i2 in l2:
    #     if i2 not in l1:
    #         print(i2)

    2.用1,2,3,4,5,6,7,8 能组成多少个互不相同且无重复的两位数

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

    3.九九乘法表

    # 1.
    # for i in range(1,10):
    #     string = ""
    #     for j in range(1,i+1):
    #         string +=str(j) + " * "+str(i) + " = " +str(i*j)+"	"
    #     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="")
    #     print("
    ",end="")

    4.*****补充print()方法

    # print('raito', end='结尾')
    # print('raito')
    # print('raito','tsuki','rei',sep='中间')

    5.这里面的数字两个组合 多少种不同样的,数字不重复的

    li = [1,2,3,4]

    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.公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?

    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)

    7.利用下划线将列表中的每个元素拼接成字符串

    li = ['alex','eric',123]
    li[2] = str(li[2])  # 因数字不能直接和字符串连接,把列表中数字转换成字符串
    v = "_".join(li)
    print(v)

    8.写代码,有如下元组,请按照功能要求实现每一个功能

    tu=('alex', 'eric', 'rain')

    计算元组长度并输出
    获取元组的第2个元素,并输出
    获取元组的第1-2个元素,并输出
    请使用for输出元组的元素
    请使用for、len、range输出元组的索引
    请使用enumrate输出元祖元素和序号(序号从10开始)

    tu = ('alex', 'eric', 'rain')
    
    print(len(tu))
    
    print(tu[2])
    
    print(tu[1:])
    print(tu[1:3])
    
    for item in tu:
        print(item)
    
    for index in range(len(tu)):
        print(index)
    
    for index, item in enumerate(tu, 10):
        print(index, item)

    9.有如下变量,请实现要求的功能

    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])

    讲述元祖的特性
    请问tu变量中的第一个元素“alex”是否可被修改?
    请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
    请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”

    1.  
        1.可存放多个值 
        2.不可变
        3.有序,按照从左到右的顺序定义元组元素,下标从0开始顺序访问
        4.第一级元素不可被修改,不能被增加或者删除
    2.
        不可被修改。
    3.
        tu[1][2]['k2'].append('seven')
        k2对应的值是列表,可以被修改。
        >>> tu
        ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name'], 'k3': (11, 22, 33)}, 44])
        >>> tu[1][2]['k2'].append('seven')
        >>> tu
        ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'seven'], 'k3': (11, 22, 33)}, 44])
    4.
        k3对应的是元组,不能被修改。 

    10.有一下列表,nums=[2,7,11,15,1,8,7]请找到列表中任意两个元素相加能够等于9的元素集合,如:(0,1)(4,5)

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

    11.实现每一个功能

    li=['alex', 'eric', 'rain']

    计算列表长度并输出
    列表中追加元素“seven”,并输出添加后的列表
    请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    请删除列表中的元素“eric”,并输出修改后的列表
    请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    请删除列表中的第3个元素,并输出删除元素后的列表
    请删除列表中的第2至4个元素,并输出删除元素后的列表
    请将列表所有的元素反转,并输出反转后的列表
    请使用for、len、range输出列表的索引
    请使用enumrate输出列表元素和序号(序号从100开始)
    请使用for循环输出列表的所有元素

    >>> li = ['alex','eric','rain']
    >>> v = len(li)
    >>> v
    3

    b

    >>> li.append('seven')
    >>> li
    ['alex', 'eric', 'rain', 'seven']

    c

    >>> li.insert(0,'Tony')
    >>> li
    ['Tony', 'alex', 'eric', 'rain', 'seven']

    d

    >>> li[1] = 'Kelly'
    >>> li
    ['Tony', 'Kelly', 'eric', 'rain', 'seven']

    e

    >>> li.remove('eric')
    >>> li
    ['Tony', 'Kelly', 'rain', 'seven']

    f

    >>> del li[1]
    >   K = del.li[1]
    >>> li ['Tony', 'rain', 'seven']

    g

    >>> del li[2]
    >>> li
    ['Tony', 'rain']

    h

    >>> del li[1:3]
    >>> li
    ['Tony']

    i

    >>> li = ['alex','eric','rain']
    >>> li
    ['alex', 'eric', 'rain']
    >>> li.reverse()
    >>> li
    ['rain', 'eric', 'alex']

    j

    li = ['alex','eric','rain']
    for i in range(len(li)):
        print(i)

    k

    li = ['alex','eric','rain']
    for k ,v in enumerate(li,100):
        print(k,v)

    l

    li = ['alex','eric','rain']
    for i in li :
        print(i)

    12.分页显示内容

    a.通过for循环创建301条数据,数据类型不限,如:
    alex-­‐1alex1@live.compwd1
    alex-­‐2alex2@live.compwd2
    alex-­‐3alex3@live.compwd3
    ....

    for i in range(1,302):
        print("alex-­‐"+str(i)+"alex"+str(i)+"@live.compwd"+str(i))

    b.提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据

    注意:
    -­‐每页显示10条数据
    -­‐用户输入页码是非十进制数字,则提示输入内容格式错误

    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
        # user_list[10,20]  2
        # user_list[20,30]  3
        start = (s-1) * 10
        end = s * 10
        result = user_list[start: end]
        for item in result:
            print(item,type(item))

     13.数据类型

    可变不可变:
      1.可变:列表,字典
      2.不可变:字符串,数字,元组
    访问顺序:
      1.直接访问:数字
      2.顺序访问:字符串,列表,元组
      3.映射:字典
    存放元素个数:
      1.容器类型:列表,元组,字典
      2.原子:数字,字符串

  • 相关阅读:
    修改git提交的用户名和密码
    并发编程大师系列之:wait/notify/notifyAll/condition
    并发编程大师系列之:Synchronized的类锁和对象锁
    并发编程大师系列之:线程的定义和中断 interrupt
    SpringBoot项目mysql配置文件密码加密(jasypt)
    Linux下安装nginx实现伪分布
    idea远程debug调试阿里云ECS
    使用docker简单启动springboot项目
    用Navicat连接阿里云ECS服务器上的MySQL数据库
    Linux下安装JDK1.8
  • 原文地址:https://www.cnblogs.com/raitorei/p/11641399.html
Copyright © 2020-2023  润新知