• 第二章 练习


    """
    1:请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=[‘alex’, ‘eric’, ‘rain’]
    li = ['alex', 'eric', 'rain']
    li_str = '_'.join(li)
    print(li_str)
    2:查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。
    li = ["alec", " aric", "Alex", "Tony", "rain"]
    for i in li:
        li_str = i.strip().replace(" ", "")
        if li_str.startswith('a') or li_str.startswith('A') and li_str.endswith('c'):
            print(li_str)
    tu = ("alec", " aric", "Alex", "Tony", "rain")
    for i in tu:
        tu_str = i.strip().replace(" ", "")
        if tu_str.startswith('a') or tu_str.startswith('A') and tu_str.endswith('c'):
            print(tu_str)
    dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
    for i in dic:
        dic_str = i.strip().replace(" ","")
        if dic_str.startswith('a') or dic_str.startswith('A') and dic_str.endswith('c'):
            print(dic_str)
    3:写代码,有如下列表,按照要求实现每一个功能     li=[‘alex’, ‘eric’, ‘rain’]
    计算列表长度并输出
    li = ['alex', 'eric', 'rain']
    print(len(li))
    列表中追加元素“seven”,并输出添加后的列表
    li = ['alex', 'eric', 'rain']
    li.append('seven')
    print(li)
    请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    li = ['alex', 'eric', 'rain']
    li.insert(1,'Tony')
    print(li)
    请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    li = ['alex', 'eric', 'rain']
    li[1]='Kelly'
    print(li)
    请删除列表中的元素“eric”,并输出修改后的列表
    li = ['alex', 'eric', 'rain']
    li.remove('eric')
    print(li)
    请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    li = ['alex', 'eric', 'rain']
    print(li.pop(1))
    print(li)
    请删除列表中的第3个元素,并输出删除元素后的列表
    li = ['alex', 'eric', 'rain']
    del li[2]
    print(li)
    请删除列表中的第2至4个元素,并输出删除元素后的列表
    li = ['alex', 'eric', 'rain']
    del li[2:4]
    print(li)
    请将列表所有的元素反转,并输出反转后的列表
    li = ['alex', 'eric', 'rain']
    li.reverse()
    print(li)
    请使用for、len、range输出列表的索引     --------?
    
    请使用enumrate输出列表元素和序号(序号从100开始)
    li = ['alex', 'eric', 'rain']
    for a, b in enumerate(li, 100):
        print(a, b)
    请使用for循环输出列表的所有元素
    li = ['alex', 'eric', 'rain']
    for i in li:
        print(i)
    4:写代码,有如下列表,请按照功能要求实现每一个功能   li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
    请根据索引输出“Kelly”
    li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
    print(li[2][1][1])
    print(li)
    请使用索引找到’all’元素并将其修改为“ALL”,如:li[0][1][9]…
    5:有如下变量,请实现要求的功能
    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    讲述元组的特性
     元组是不可变的,并且是有顺序的;
    请问tu变量中的第一个元素“alex”是否可被修改?
     不可以被修改
    请问tu变量中的”k2”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
     可以修改
    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    tu[1][2]['k2'].append('Seven')
    print(tu)
    请问tu变量中的”k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
     不可以修改
    6:转换
    将字符串s = “alex”转换成列表
    将字符串s = “alex”转换成元祖
    将列表li = [“alex”, “seven”]转换成元组
    将元组tu = (‘Alex’, “seven”)转换成列表
    s = 'alex'
    print(list(s))
    print(tuple(s))
    a = ['alex', 'seven']
    print(tuple(a))
    b = ('Alex', 'seven')
    print(list(b))
    将列表li = [“alex”, “seven”]转换成字典且字典的key按照10开始向后递增
    li = ['alex', 'seven']
    num = 10
    dic = {}
    for i in range(len(li)):
        dic[num] = li[i]
        num += 1
    print(dic)
    7:元素分类
    有如下值集合[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]
    a = {'k1': [], 'k2': []}
    for i in li:
        if i > 66:
            a["k1"].append(i)
        elif i < 66:
            a['k2'].append(i)
    print(a)
    8:在不改变列表数据结构的情况下找最大值li = [1,3,2,7,6,23,41,243,33,85,56]。(编程题)
    li = [1, 3, 2, 7, 6, 23, 41, 243, 33, 85, 56]
    max_value = li[0]
    for i in li:
        if i > max_value:
            max_value = i
    print(max_value)
    9:在不改变列表中数据排列结构的前提下,找出以下列表中最接近最大值和最小值的平均值 的数
    li = [-100,1,3,2,7,6,120,121,140,23,411,99,243,33,85,56]。(编程题)
    li = [-100, 1, 3, 2, 7, 6, 120, 121, 140, 23, 411, 99, 243, 33, 85, 56]
    max_value = li[0]
    min_value = li[0]
    for i in li:
        if i > max_value:
            max_value = i
        if i < min_value:
            min_value = i
    print(min_value)
    print(max_value)
    arg_value = (min_value + max_value) / 2
    print(arg_value)
    a = li[0]
    for i in li:
        if abs(i - arg_value) < abs(a - arg_value):
            a = i
    print(a)
    10:利用for循环和range输出9 * 9乘法表 。(编程题)
    for i in range(1, 10):
        for j in range(1, i + 1):
            print("%s*%s=%s" % (j, i, i * j), end=" ")
        print("
    ")
    11:求100以内的素数和。(编程题)
    素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
    a = 0
    for i in range(2, 101):
        for j in (2, i):
            if i % j == 0:
                break
            else:
                a += i
    print(a)
    12:请说明python2 与python3中的默认编码是什么?
    python2的默认编码是ascii
    python3的默认编码是utf-8
    13:为什么会出现中文乱码?你能列举出现乱码的情况有哪几种?
    sys.stdout.encoding,默认就是locale的编码,print会用sys.stdout.encoding去encode()成字节流,
    交给terminal显示。所以locale需要与terminal一致,才能正确print打印出中文。
    14:分别写出在windows和mac上用py2输出中文怎么做?
    15:任一个英文的纯文本文件,统计其中的每个单词出现的个数,注意是每个单词。
    16:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
    
    """
  • 相关阅读:
    第二阶段站立会09
    第二阶段站立会08
    《大道至简》阅读笔记3
    《大道至简》阅读笔记2
    《大道至简》阅读笔记1
    站立会议9
    站立会议8
    站立会议6
    站立会议7
    站立会议5
  • 原文地址:https://www.cnblogs.com/ljy123/p/12520960.html
Copyright © 2020-2023  润新知