• 第二章练习


    # 1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain']
    li = ['alex','eric','rain']
    print('_'.join(li))
    # 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"}
    for i in li:
        i = i.strip()
        if i.startswith('a') or i.startswith('A'):
            if i.endswith('c'):
                print(i)
    for i in tu:
        i = i.strip()
        if i.startswith('a') or i.startswith('A'):
            if i.endswith('c'):
                print(i)
    for i in dic.values():
        i = i.strip()
        if i.startswith('a') or i.startswith('A'):
            if i.endswith('c'):
                print(i)
    #方法二:
    for i in dic:
        n = dic[i].strip()
        if n.startswith('a') or n.startswith('A'):
            if n.endswith('c'):
                print(n)
    # 3、写代码,有如下列表,按照要求实现每一个功能
    li=['alex', 'eric', 'rain']
    # 计算列表长度并输出
    print(len(li))
    # 列表中追加元素“seven”,并输出添加后的列表
    li.append('seven')
    print(li)
    # 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    li.insert(0,'Tony')
    print(li)
    # 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    li[1]='Kelly'
    # 请删除列表中的元素“eric”,并输出修改后的列表
    li.remove('eric')
    print(li)
    # 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    print(li.pop(1))
    print(li)
    # 请删除列表中的第3个元素,并输出删除元素后的列表
    print(li.pop(2))
    print(li)
    # 请删除列表中的第2至4个元素,并输出删除元素后的列表
    del li[1:4]
    print(li)
    # 请将列表所有的元素反转,并输出反转后的列表
    li.reverse()
    print(li)
    # 请使用for、len、range输出列表的索引
    for i in range(len(li)):
        print(i)
    # 请使用enumrate输出列表元素和序号(序号从100开始)
    for i in enumerate(li,100):
        print(i)
    # 请使用for循环输出列表的所有元素
    for i in li:
        print(i)
    # 4、写代码,有如下列表,请按照功能要求实现每一个功能
    li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
    # 请根据索引输出“Kelly”
    print(li[2][1][1])
    # 请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...
    li[2][2] = 'ALL'
    print(li)
    # 5、写代码,有如下元组,请按照功能要求实现每一个功能
    tu=('alex', 'eric', 'rain')
    # 计算元组长度并输出
    print(len(tu))
    # 获取元组的第2个元素,并输出
    print(tu[1])
    # 获取元组的第1-2个元素,并输出
    print(tu[:2])
    # 请使用for输出元组的元素
    for i in tu:
        print(i)
    # 请使用for、len、range输出元组的索引
    for i in range(len(tu)):
        print(i)
    # 请使用enumrate输出元祖元素和序号(序号从10开始)
    for i in enumerate(tu,10):
        print(i)
    # 6、有如下变量,请实现要求的功能
    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    # 讲述元祖的特性
    # 请问tu变量中的第一个元素“alex”是否可被修改?
    '''不可修改'''
    # 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
     '''字典'''
    tu[1][2]['k2'].append('Seven')
    print(tu[1][2])
    # 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
    '''元组,不能修改'''
    u[1][2]['k3'].append('Seven')
    print(tu[1][2])
    '''tu[1][2]['k3'].append('Seven')
    AttributeError: 'tuple' object has no attribute 'append'''
    # 7、字典
    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    # 请循环输出所有的key
    for i in dic:
        print(i)
    for i in dic.keys():
        print(i)
    # 请循环输出所有的value
    for i in dic.values():
        print(i)
    # 请循环输出所有的key和value
    for i in dic:
        print(i,dic[i])
    for key,i in dic.items():
        print(key,i)
    # 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
    dic['k4'] = 'v4'
    print(dic)
    # 请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
    dic['k1'] = 'alex'
    print(dic)
    # 请在k3对应的值中追加一个元素44,输出修改后的字典
    dic['k3'].append(44)
    print(dic)
    # 请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
    dic['k3'].insert(0,44)
    print(dic)
    # 8、转换
    # 将字符串s = "alex"转换成列表
    print(list(s))
    # 将字符串s = "alex"转换成元祖
    print(tuple(s))
    # 将列表li = ["alex", "seven"]转换成元组
    print(tuple(li))
    # 将元祖tu = ('Alex', "seven")转换成列表
    print(list(li))
    # 将列表li = ["alex", "seven"]转换成字典且字典的key按照10开始向后递增
    li = ["alex", "seven"]
    dic = {}
    for k,i in enumerate(li,10):
        dic[k] = i
        print(dic)
    # 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]
    dic = {'k1':[],'k2':[]}
    for i in li:
        if i > 66:
            dic['k1'].append(i)
        else:
            dic['k2'].append(i)
    print(dic)
    # 10、输出商品列表,用户输入序号,显示用户选中的商品
    # 商品li = ["手机", "电脑", '鼠标垫', '游艇']
    # 允许用户添加商品
    # 用户输入序号显示内容
    li = ["手机", "电脑", '鼠标垫', '游艇']
    shopping_car = []
    while True:
        for index,i in enumerate(li,1):
            print("%s %s" %(index,i))
        choice = input("请输入商品序号:")
        if choice.isdigit():
            choice = int(choice)
            if choice > 0 and choice < len(li):
                shopping_car.append(li[choice])
                print("输入的商品是:%s"%(li[choice]))
            else:
                print("商品不存在!")
        elif choice == 'q':
            if len(shopping_car) > 0:
                print("你已添加以下商品:%s" %(shopping_car))
            break
        else:
            print("输入有误,请重新输入")
    
    # 11、用户交互显示类似省市县N级联动的选择
    # 允许用户增加内容
    # 允许用户选择查看某一个级别内容
    
    # 12、列举布尔值是False的所有值
    None,'' {} [] ()
    # 13、有两个列表
    # l1 = [11,22,33]
    # l2 = [22,33,44]
    # 获取内容相同的元素列表
    for i in l1:
        if i in l2:
            print(i)
    # 获取l1中有,l2中没有的元素列表
    for i in l1:
        if i not in l2:
            print(i)
    # 获取l2中有,l1中没有的元素列表
    for i in l2:
        if i not in l1:
            print(i)
    # 获取l1和l2中内容都不同的元素
    li = []
    for i in l2:
        if i not in l1:
            li.append(i)
    for i in l1:
        if i not in l2:
            li.append(i)
    print(li)
    # 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
    i = 1
    while i <101:
        print(i)
        i += 1
    # While循环从小到到输出100 - 1
    i = 100
    while i > 0:
        print(i)
        i -= 1
    # 15、利用for循环和range输出9 * 9乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            # print(i, "*", j, "=",i*j)
            print("%s*%s=%2s "%(j, i, i * j), end='')
        print('')
    # 16、求100以内的素数和。(编程题)
    num=[]
    i=2
    for i in range(2,100):
       j=2
       for j in range(2,i):
          if(i%j==0):
             break
       else:
          num.append(i)
    print(sum(num))
    # 17、将[1,3,2,7,6,23,41,24,33,85,56]从小到大排序(冒泡法)(编程)
    lis=[1,3,2,7,6,23,41,24,33,85,56]
    for i in range(len(lis)-1):
        if lis[i] > lis[i+1]:
            lis[i],lis[i+1] = lis[i+1],lis[i]
    print(lis)
    
    li = [1,3,2,7,6,23,41,24,33,85,56]
    for i in range(len(li)-1): # i的范围0-9
        for j in range(i+1,len(li)): # j的范围1-10
            if li[i] > li[j]: # 相邻的两个数比较
                li[i],li[j] = li[j],li[i]
    print(li)
  • 相关阅读:
    rowspan colspan
    阿里云升级cpu和内存后服务器连接不上
    FIB nexthop Exception是什么 转载
    fib 结构以及路由 fib 创建
    路由信息查看
    策略路由之添加
    路由fib表之input查找
    路由output 查找
    转载 |工作中我常用的分析算法
    Vlookup 查找和多条件查找
  • 原文地址:https://www.cnblogs.com/chris3201/p/8946397.html
Copyright © 2020-2023  润新知