• 几道练习题


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

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

    lis = [11,22,33,44,55,66,77,88,99,90]
    s = []  #定义一个空列表
    b = []
    for i in lis:  #原循环列表值
        if i<=66:
            s.append(i)  #如果小于66则用append()方法向s列表中加入该值
        else:
            b.append(i)  #如果大于于66则用append()方法向b列表中加入该值
    dic = {'k1':s,'k2':b}  # 定义一个字典存放
    print(dic)

    2. 统计s='hello alex alex say hello sb sb'中每个单词的个数

    结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}

    s = 'hello alex alex say hello sb sb'
    
    dic = {}
    lis = s.split(' ')#将字符串变成列表
    # print(lis )
    for i in lis:   #循环列表
        num = lis.count(i)#统计每个元素的个数
        # print(num)
        dic[i] = num #赋值给字典增加元素
    print(dic)

    3. 写代码,有如下变量,请按照要求实现每个功能
    name = " aleX"
    # 1) 移除 name 变量对应的值两边的空格,并输出处理结果
    # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
    # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
    # 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    # 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
    # 6) 请输出 name 变量对应的值的第 2 个字符?
    # 7) 请输出 name 变量对应的值的前 3 个字符?
    # 8) 请输出 name 变量对应的值的后 2 个字符?
    # 9) 请输出 name 变量对应的值中 “e” 所在索引位置?
    # 10) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。

    name = '  alex'
    print(name.strip(' '))
    print(name.startswith('al'))
    print(name.endswith('x'))
    print(name.replace('l','p'))
    print(name.split('l'))
    print(name[1])
    print(name[0:3])
    print(name[4:6])
    print(name.find('e'))
    print(name[0:-1])

    4. 假设有一个文件test.txt,内有如下内容
    l=[
    {'name':'alex','age':84},
    {'name':'oldboy','age':73},
    {'name':'egon','age':18},
    ]

    with open('test.txt')as f:
        data = f.read()          #打开并读取文件
    # print(type(data))   # type:str
    lis = eval(data)    #利用eval方法将str转为list
    age_sum = lis[0]['age'] + lis[1]['age'] + lis[2]['age']  #取值相加
    print(age_sum)

    在做第四题时,由于不懂eval的用法,一直出现语法错误(SyntaxError: invalid syntax),在Nick老师的帮助下发现是eval读取不了文件中中括号前面的=,把文件中的 l= 去掉,错误也消失了。

  • 相关阅读:
    BZOJ3670:[NOI2014]动物园(KMP)
    415. [HAOI2009] 旅行
    U10223 Cx大帝远征埃及
    U10206 Cx的治疗
    2741. [济南集训 2017] 掰巧克力
    复习题目汇总 over
    7-20 表达式转换(25 分)
    7-19 求链式线性表的倒数第K项(20 分)(单链表定义与尾插法)
    7-18 银行业务队列简单模拟(25 分)
    7-17 汉诺塔的非递归实现(25 分)(有待改进)
  • 原文地址:https://www.cnblogs.com/lyyblog0715/p/11437067.html
Copyright © 2020-2023  润新知