• Python开发【第一篇】基础题目二


    1 列表题

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

    2.有 1,2,3,4,5,6,7,8, 8位数字,输出两位元素互不相同的个数

    count = 0
    a = [1, 2, 3, 4, 5, 6, 7, 8]
    b = [1, 2, 3, 4, 5, 6, 7, 8]
    for i in a:
        for j in b:
            if i != j:
                count += 1
    print(count)  # 56
    
    # 2_1.有 1,2,3,4,5,6,7,8,  8位数字,输出两位元素互不相同且数字不重复出现的个数
    count = 0
    a = [1, 2, 3, 4, 5, 6, 7, 8]
    b = [1, 2, 3, 4, 5, 6, 7, 8]
    for i in range(1, len(a) + 1):
        for j in range(i + 1, len(b) + 1):
            count += 1
    print(count)  # 28

    3. 九九乘法表 正三角

    for i in range(1,10):
        for j in range(1,10):
            if  i>= j:
                print("%s * %s = %s"%(j,i,i*j),end='	')
        print()

    4 九九乘法表 倒三角

    for i in range(1,10):
        for j in range(1,10):
            if j >= i:
                print("%s * %s = %s"%(i,j,j*i),end="	")
            else:
                print("%s"%" "*12,end="")
        print()

    5 用Python开发程序自动计算方案

    # 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡,小鸡要买多少只刚好凑够100文钱?
    for i in range(1, 100 // 5):
        for j in range(1, 100 // 3):
            for z in range(1, 100):
                if i + j + z == 100 and 5*i + 3*j + z/3.0 == 100:
                    print(i,j,z)
                    """
                    4 18 78
                    8 11 81
                    12 4 84 
                    """

    6 用下划线将列表的每一个元素拼接为字符串 ['tang','lao','er']

    # 注意: 此方法只适用于元素都是str类型
    li = ['tang','lao','er']
    v = "_".join(li)
    print(v) # tang_lao_er
    
    # 6_1 里面有数字的列表拼接为字符串
    li = ['tang','lao','er',123]
    v = "_".join("%s" %i for i in li)
    print(v) # tang_lao_er_123
    
    # 6_2 里面有多种数据类型的拼接为字符串
    li = ['tang','lao','er',[11,22],True]
    v = "_".join("%s" %i for i in li)
    print(v) # tang_lao_er_[11, 22]_True

    7 有一元组('tang','lao','er') 写代码,实现以下功能

    tu = ('tang','lao','er',)
    # a. 计算长度
    print(len(tu))
    # b. 获取元组的第2-3个元组,并输出
    print(tu[1:3]) # ('lao', 'er')
        # 注意: 切片索引超出分界大小 不会报错
    print(tu[1:10]) # ('lao', 'er')
    print(tu[10:]) # ()
    
    # c. 请使用for输出元组的元素
    for i in tu:
        print(i,end=" ") # tang lao er
    print()
    # d. 请使用for、 len 、range输出元组的索引
    for i in range(len(tu)):
        print(i,end=" ") # 0 1 2
    print()
    
    # f. 请使用enumrate输出元组元素和序号(序号从10开始)
    for key, value in enumerate(tu,10):
        print((key,value),end=" ") # (10, 'tang') (11, 'lao') (12, 'er')

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

    tu = ("tang",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
    # a.元组的特性
    #元组不可变类型 不可增删改
    
    #b. 第一个元素"tang", 是否可修改
    #
    
    # c "k2"对应的值是什么类型?是否可改,如果可以,请在其中增加一个元素"san"
    # 列表类型 可改
    tu[1][2]["k2"].append("san")
    print(tu[1][2]["k2"]) #  ['age', 'name', 'san']
    
    # d "k2"对应的值是什么类型?是否可改,如果可以,请在其中增加一个元素"san"
    # 元组类型 不可改

    9. bool值为False的

    记法 6+1
    6=3+3:3括号 {} [] ()  3个基本类型 整型=0、字符串=""、bool= False
    1:None

    10. 求一列表任意两个值相加等于9 的元素集合

    nums = [2,7,11,25,1,8,7]
    a = []
    for i in nums:
        for j in nums:
            if i+j == 9:
                a.append((i,j))
    print(a) # [(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)]
    
    # 10_1 求一列表任意两个值相加等于9 的索引元素集合
    nums = [2,7,11,25,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) # [(0, 1), (0, 6), (1, 0), (4, 5), (5, 4), (6, 0)]

    11 列表反转

    li =  [11,22,33,44]
    li.reverse()
    print(li) # [44, 33, 22, 11]

    12 分页显示内容

    # a 通过for循环创建302条数据,数据类型不限,如:
    user_list = [
        {'name':'tang1','email':'tang@qq.com','pwd':'tangpwd1'}
    ]
    for i in range(1,302):
        temp = {'name':"tang"+str(i),'email':'tang@qq.com'+str(i),'pwd':'pwd'+str(i)}
        user_list.append(temp)
    # print(user_list)
    
    #b 提示用户输入页码,每页10行数据,根据用户输入的页码返回数据
    while True:
        s = input('请输入1,2..30页码:')
        s = int(s)
        start = (s-1) * 10
        end = s * 10
        result = user_list[start:end]
        for item in result:
            print(item)

    13 三级菜单

    db ={
        "北京":{
            "昌平":{"沙河":{}},
            "海淀":{},
            "朝阳":{},
        },
        "广州":{
            "天河":{"天河城"},
            "海珠":{"仑头村"},
        }
    }
    path = []
    while True:
        temp = db
        for item in path:
            temp = temp[item] # temp 指向最后一个节点 path = ["北京", "昌平","沙河"]
        print("当前节点的所有子节点:",list(temp.keys()))
    
        choice = input('1:添加节点 2:查看节点 (Q 退出 | B 返回上一级)
     >>>')
        if choice == "1":
            name = input("请输入要插入的节点名称>>>")
            if name in temp:
                print("节点已经存在")
            else:
                temp[name] = {}
        elif choice == "2":
            name = input("请输入要查看的节点名称>>>")
            if name in temp:
                path.append(name)
            else:
                print("不存在此节点名称")
        elif choice.lower() == "b":
            if path:
                path.pop()
        elif choice.lower() == 'q':
            break
        else:
            print('输入错误,请重新输入:')




  • 相关阅读:
    linux:centos7开启指定端口,开放外网访问
    zookeeper 集群搭建
    单机安装zookeeper的3.4.7版本
    CentOS7下安装jdk1.8并配置环境变量,防火墙设置开关
    Redis分布式锁的正确实现方式
    MySQl5.7 忘记密码怎么办?
    Flink 之Window(窗口)
    Flink之Sink(文件、Kafka、Redis、Es、Mysql)
    Canal同步Mysql数据至Hbase
    Flink 之分流Select与Split
  • 原文地址:https://www.cnblogs.com/tangkaishou/p/9475133.html
Copyright © 2020-2023  润新知