zoukankan      html  css  js  c++  java
  • python作业02

    1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain']

    li = ['alex', 'eric', 'rain']
    v = "_".join(li)
    print(v)

    2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。

    li = ["alec", " aric", "Alex", "Tony", "rain"]  # 列表
    
    tu = ("alec", " aric", "Alex", "Tony", "rain")  # 元组
    
    dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}  # 字典
    
    tu_li = list(tu)
    dic_li = list(dic.values())
    list = li + tu_li + dic_li
    
    for i in list:
        m = i.strip()
        # startswith查看开头字符,endswith查看结尾字符
        if(m.startswith('a') or m.startswith('A') and m.endswith('c')):
            print(m)

    3、写代码,有如下列表,按照要求实现每一个功能

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

    # 1
    print(len(li))
    # 2
    li.append("seven")
    print(li)
    # 3
    li.insert(0,'Tony')
    print(li)
    # 4
    li[1] = 'Kelly'
    print(li)
    # 5
    li.remove('eric')
    print(li)
    # 6
    li.pop(1)
    print(li)
    # 7
    li.pop(2)
    print(li)
    # 8
    li = ['alex', 'eric', 'rain']
    del li[1:3]
    print(li)
    # 9
    li = ['alex', 'eric', 'rain']
    li.reverse()
    print(li)
    # 10
    li = ['alex', 'eric', 'rain']
    for i in range(len(li)):
        print(i)
    # 11
    li = ['alex', 'eric', 'rain']
    for m,n in enumerate(li,100):
        print(m,n)
    # 12
    for i in li:
        print(i)

    4、写代码,有如下列表,请按照功能要求实现每一个功能

    li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]

        请根据索引输出“Kelly”
        请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...
        写代码,有如下元组,按照要求实现每一个功能

    print(li[2][1][1])
    
    li[2][2] = "ALL"
    print(li)

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

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

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

    print(len(tu))
    
    print(tu[1])
    
    print(tu[0:2])
    
    for i in tu:
        print(i)
    
    for m in range(len(tu)):
        print(m)
    
    for n,k in enumerate(tu,10):
        print(n,k)

    6、有如下变量,请实现要求的功能

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

        讲述元祖的特性
        请问tu变量中的第一个元素“alex”是否可被修改?
        请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
        请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
    答:
    1、元组跟列表差不多,它一旦创建,便不能再修改.元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变。
    2、tu变量中的第一个元素“alex”不可被修改
    3、"k2"是列表,可以修改。  tu[1][2]["k2"].append("Seven")
    4、"k3"是元组不可修改

    7、字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

        请循环输出所有的key
        请循环输出所有的value
        请循环输出所有的key和value
        请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
        请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
        请在k3对应的值中追加一个元素44,输出修改后的字典
        请在k3对应的值的第1个位置插入个元素18,输出修改后的字典

    # 1
    for i in dic.keys():
        print(i)
    # 2
    for j in dic.values():
        print(j)
    # 3
    for i,j in dic.items():
        print(i,j)
    # 4
    dic["k4"] = "v4"
    print(dic)
    # 5
    dic["k1"] = "alex"
    print(dic)
    # 6
    dic["k3"].append(44)
    print(dic)
    # 7
    dic["k3"].insert(0,18)
    print(dic)


    8、转换

        将字符串s = "alex"转换成列表
        将字符串s = "alex"转换成元祖
        将列表li = ["alex", "seven"]转换成元组
        将元祖tu = ('Alex', "seven")转换成列表
        将列表li = ["alex", "seven"]转换成字典且字典的key按照10开始向后递增

    # 1
    s = "alex"
    s_list = list(s)
    print(s_list)
    # 2
    s = "alex"
    s_tuple = tuple(s)
    print(s_tuple)
    # 3
    li = ["alex", "seven"]
    li_tuple = tuple(li)
    print(li_tuple)
    # 4
    tu = ('Alex', "seven")
    tu_list = list(tu)
    print(tu_list)
    # 5
    li = ["alex", "seven"]
    li_dict = {}
    for m,n in enumerate(li,10):
        li_dict[m] = n
        print(li_dict)


    9、元素分类

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

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

    li = [11,22,33,44,55,66,77,88,99,90]
    li.sort()  # 排序
    list1 = []
    list2 = []
    for i in li :
        if i < 66:
            list1.append(i)
        elif i > 66:
            list2.append(i)
        else:
            pass
    dic = {"k1": list1,"k2": list2}
    print(dic)


    10、输出商品列表,用户输入序号,显示用户选中的商品

    商品li = ["手机", "电脑", '鼠标垫', '游艇']

        允许用户添加商品
        用户输入序号显示内容

    print("商品列表,用户输入序号,显示用户选中的商品".center(25,'-'))
    li = ["手机", "电脑", '鼠标垫', '游艇']
    for i,num in enumerate(li,1):
        print(i,num)
    # 添加商品
    choice = input("y=yes,n=no]  是否添加商品:".rjust(20,'-'))
    if choice == "y" or choice == "Y":
        good = input("需要添加的商品".rjust(20,'-'))
        li.append(good)
        for i,num in enumerate(li,1):
            print(i,num)
    elif choice =='n' or choice == "N":
        pass
    else:
        print("请输入正确的选项")
    
    choice_Item = input("[q=quit]  查看序号对应商品,按q退出!")
    if choice_Item.isdigit() and int(choice_Item) <= len(li):
        print(li[int(choice_Item)-1])


    11、用户交互显示类似省市县N级联动的选择

        允许用户增加内容
        允许用户选择查看某一个级别内容

    china = {
        '北京':{
            '海淀':{},
            '朝阳':{},
            '东城':{}
        },
        '湖北':{
            '武汉':{},
            '荆门':{},
            '宜昌':{}
        }
    }
    
    current_layer = china # 当前层
    layers = []
    tag = True
    
    while tag:
        # 一级菜单
        for k in current_layer:
            print(k)
        choice = input(">:").strip()
        # 二级菜单
        if choice in current_layer:
            # 进入下一级菜单,保存当前菜单
            layers.append(current_layer)
            # 二级菜单赋给当前层
            current_layer = current_layer[choice]
    
        elif choice == "back":
            if len(layers) != 0:
                # pop删除列表最后一个元素,并返回删除后最后一个元素
                current_layer = layers.pop()
            else:
                print("已经是最顶层目录!")
        elif choice == "add":
            add_node = input("在当前目录下添加节点:")
            current_layer[add_node] = {}
        elif choice == "exit":
            tag = False
            print("good bye!")
        else:
            continue


    12、列举布尔值是False的所有值
    bool(0)   bool(None)  bool("") bool(())  bool([])  bool({}) 五种情况下为false

    13、有两个列表

    l1 = [11,22,33]

    l2 = [22,33,44]

        获取内容相同的元素列表
        获取l1中有,l2中没有的元素列表
        获取l2中有,l3中没有的元素列表
        获取l1和l2中内容都不同的元素

    set1 = set(l1)
    set2 = set(l2)
    
    p1 = set1 & set2
    print(p1)
    
    p2 = set1.difference(set2)
    print(p2)
    
    p3 = set2.difference(set1)
    print(p3)
    
    p4 = set1.union(set2).difference(set1 & set2)
    print(p4)


    14、利用For循环和range输出

        For循环从小到大输出1 - 100
    for i in range(1,101):
        print(i)
        For循环从大到小输出100 - 1
    for i in range(100,0,-1):
        print(i)
        While循环从大到小输出1 - 100
    n = 100
    while n > 0:
        print(n)
        n -= 1
        While循环从小到到输出100 - 1
    n = 1
    while n <=100:
        print(n)
        n += 1
    15、利用for循环和range输出9 * 9乘法表

    #左下三角格式输出九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print("%d*%d=%2d" % (i,j,i*j),end=" ")
        print (" ")


    16、求100以内的素数和。(编程题)

    sum_prime = 0
    for i in range(2,101):
        n = 0
        for j in range(2,i-1):
            if i % j == 0:
                n = 1
                break
        if n == 0:
            sum_prime += i
    print(sum_prime)


    17、将[1,3,2,7,6,23,41,24,33,85,56]从小到大排序(冒泡法)(编程)

    li = [1,3,2,7,6,23,41,24,33,85,56]
    for i in range(0,len(li)):
        for j in range(i+1,len(li)):
            if li[i] > li[j]:
                li[i], li[j] = li[j], li[i]
        print(li)
  • 相关阅读:
    安装好k8s后,使用kubectl get cs 查看状态,发现 controller-manager scheduler Unhealthy
    k8s 去掉node标签 难去的
    项目中常用到的布局 flex
    scanf输入空格
    sed和awk学习第一天
    线程池
    线程间通信 | 等待唤醒机制
    创建线程的三种方法详细对比
    EXCEL中VLOOKUP函数的使用
    Vulnhub实战靶场:GAARA: 1
  • 原文地址:https://www.cnblogs.com/xiugeng/p/8449829.html
Copyright © 2011-2022 走看看