zoukankan      html  css  js  c++  java
  • 第二章作业题

      

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

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

      

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

    '''
    li = ['alec', ' aric', 'Alex', 'Tony', 'rain']
    tu = ('alec', ' aric', 'Alex', 'Tony', 'rain')
    dic = {'k1': 'alec', 'k2': ' aric', 'k3': 'Alex', 'k4': 'Tony'}
    '''
    #对列表
    for i in range(1, len(li)):
        li[i] = li[i].strip()
    print(li)
    
    for i in range(0,len(li)):
        if li[i].startswith('a') or li[i].startswith('A') and li[i].endswith('c'):
            print(li[i])
    
    #对字典
    for i in dic:
        dic[i] = dic[i].strip()
    print(dic)
    
    for i in dic:
        if dic[i].startswith('a' or 'A') and dic[i].endswith('c'):
            print(dic[i], end=' ')
    
    #对元祖
    #由于元祖不可变,所以无法元祖中的元素修改后无法幅值给原元祖,但是查找操作可以进行
    for i in tu:
        if i.startswith('a' or 'A') and i.endswith('c'):
            print(i)
    

      

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

    li = ['alex', 'eric', 'rain']
    
    # 计算列表长度并输出
    print(len(li))
    
    # 列表中追加元素'seven',并输出添加后的列表
    li.append('seven')
    li.pop()
    print(li)
    print(li[-1])
    li.insert(-1, 'seven')  # 永远在索引元素的左边插入新的元素
    print(li)
    li.remove('seven')
    print(li)
    li.extend(['seven'])
    # 用extend添加新的元素时一定要把它放在列表里,将一个列表里的元素添加进另一个列表时只能用insert,append和insert都不行
    print(li)
    
    # 请修改列表第二个位置的元素为'Kelly',并输出修改后的列表
    li[1] = 'Kelly'
    print(li)
    
    # 请删除列表中的第二个元素,并输出删除的元素的值和删除元素后的列表
    res = li.pop(1)
    print(res)
    print(li)
    # pop可以依照索引删除元素,并返回删除元素的值
    
    # 请删除列表中的第三个元素,并输出删除元素后的列表
    # 同上
    
    # 请删除列表中的第2至4个元素,并输出删除元素后的列表
    for i in range(2, 5):
        li.pop(1)
    print(li)
    
    # 请将列表所有的元素反转,并输出反转后的列表
    print(li)
    if len(li) % 2 == 0:
        for i in range(len(li) // 2):
            li[i], li[len(li) - 1 - i] = li[len(li) - 1 - i], li[i]
        print(li)
    else:
        for i in range(len(li) // 2):
            li[i], li[len(li) - 1 - i] = li[len(li) - 1 - i], li[i]
        print(li)
    
    # 请使用for、len、range输出列表的索引
    for i in range(len(li)):
        print(i, end=' ')
    
    # 请使用enumerate输出列表元素和序号(序号从100开始)
    print(list(enumerate(li, start=100)))
    # enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
    
    # 请使用for循环输出列表的所有元素
    for i in li:
        print(i,end=' ')
    

      

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

    li = ['hello', 'seven', ["mon", ["h", "Kelly"], 'all'], 123, 446]
    # 请根据索引输出'Kelly'
    print(li[2][1][1])
    
    # 请使用索引找到'all'元素并将其修改为'ALL'
    li[2][2] = 'ALL'
    print(li)
    

      

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

    tu = ('alex', 'eric', 'rain')
    
    # 计算元祖长度并输出
    print(len(tu))
    
    # 获取元祖的第2个元素,并输出
    print(tu[1])
    
    # 获取元祖的第1-2个元素,并输出
    print(tu[0])
    print(tu[1])
    
    # 请使用for输出元祖的元素
    for i in tu:
        print(i, end=' ')
    
    # 请使用for,len,range,输出元祖的索引
    for i in range(len(tu)):
        print(i, end=' ')
    
    # 请使用enumerate输出元祖元素和序号(序号从10开始)
    print(list(enumerate(tu, start=10)))
    

      

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

    tu = ('alex', [11, 22, {'k1': 'v1', 'k2': ["age", "name"], "k3":(11, 22, 33)}, 44])
    
    # 讲述元祖的特性
    '''
    1、可存放多个值
    2、不可变
    3、有序,可以由索引取值
    '''
    
    # 请问tu变量中的在第一个元素'alex'是否可以被修改?
    # 不可以
    
    # 请问tu变量中的'k2'对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素'Seven'
    # 列表  可以
    tu[1][2]['k2'].append('Seven')
    print(tu)
    
    # 请问tu变量中的'k3'对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素'Seven'
    # 元祖  不可以
    
    # 总结:元祖不可变,但是如果元祖中有可变类型的数据,任然可以通过索引改变其中某个可变元素的值
    

      

    7、字典

    dic = {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33]}
    
    # 请循环输出所有的key
    for i in dic:
        print(i)
    
    # 请循环输出都有的value
    for i in dic:
        print(dic[i])
    
    # 请循环输出所有的key和value
    for i in dic:
        print(i, dic[i])
    
    # 请在字典中添加一个键值对,'k4': 'v4', 输出添加后的字典
    dic.setdefault('k4', 'v4')
    print(dic)
    
    # 请在字典中修改'k1'对应的值为'alex', 输出修改后的字典
    dic['k1'] = 'alex'
    print(dic)
    
    # 请在k3对应的值中追加一个元素44,输出修改后的字典
    dic['k3'].append(44)
    print(dic)
    
    # 请在k3对应的值的第一个位置插入一个元素18,输出修改后的字典
    dic['k3'].insert(0, 18)
    print(dic)
    

      

     8、转换

    # 将字符串s = 'alex'转换成列表
    s = 'alex'
    l = list(s)
    print(l)
    
    # 将字符串s = 'alex'转换成元组
    t = tuple(s)
    print(t)
    
    # 将列表li = ['alex','seven']转换成元组
    li = ['alex', 'seven']
    t = tuple(li)
    print(t)
    
    # 将元组tu = ('Alex', 'seven')转换成列表
    tu = ('Alex', 'seven')
    l1 = list(tu)
    print(l1)
    
    # 将列表li = ['alex', 'seven']转换成字典且字典的key按照10开始向后递增
    li = ['alex', 'seven']
    d = {}
    k = 10
    for i in li:
        d[k] = i
        k += 1
    print(d)
    

      

    9、元素分类

    # 9、元素分类
    # 有如下集合{11,22, 33, 44, 55,66, 77, 88, 99, 90},将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中
    # 即:{'k1': 大于66的所有值, 'k2': 小于66的所有值}
    s = {11, 22, 33, 44, 55, 66, 77, 88, 99, 90}
    d = {'k1': [], 'k2': []}
    for i in s:
        if i > 66:
            d['k1'].append(i)
        if i < 66:
            d['k2'].append(i)
        else:
            continue
    print(d)
    

      

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

    # 商品li = ['手机', '电脑', '鼠标垫', '游艇']
    # 允许用户添加商品
    # 用户输入序号显示内容
    li = ['手机', '电脑', '鼠标垫', '游艇']
    answer = input('您是否想添加商品?回答YES or NO')
    if answer.lower() == 'yes':
        new_goods = input('请输入您想添加的商品')
        li.append(new_goods)
    for i in range(len(li)):
        print(i, li[i])
    num = int(input('请输入商品序号:'))
    print(li[num])
    

      

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

    允许用户增加内容

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

    12、列举布尔值是false的所有值

    0、None、[]、{}、()

    13、有两个列表

    l1 = [11, 22, 33]
    l2 = [22, 33, 44]
    s1 = set(l1)
    s2 = set(l2)
    
    # 获取内容相同的元素列表
    res = list(s1 & s2)
    print(res)
    
    # 获取l1中有,l2中没有的元素列表
    res1 = list(s1 - s2)
    print(res1)
    
    # 获取l2中有,l1中没有的元素列表
    res2 = list(s2 - s1)
    print(res2)
    
    # 获取l1和l2中内容都不同的元素
    res3 = list(s2 ^ s1)
    print(res3)
    

      

    14、利用for循环和range输出

    # for循环从大到小输出1-100
    for i in range(1, 101):  # 顾头不顾尾
        print(i, end=' ')
    print()
    # for循环从小到大输出100-1
    for i in range(100, 0, -1):  # 顾头不顾尾
        print(i, end=' ')
    print()
    # while循环从大到小输出1-100
    i = 1
    while i <= 100:
        print(i, end=' ')
        i += 1
    print()
    # while循环从小到大输出100-1
    i = 100
    while i >= 1:
        print(i, end=' ')
        i -= 1
    

      

    15、利用for循环和range输出9*9乘法表

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

      

    16、求100以内的素数和

    l = []
    for i in range(1, 101):
        for j in range(1, i+1):
            if j == 1:
                continue
            if j < i and i % j == 0:
                break
            if j == i:
                l.append(i)
    sum = 0
    for i in l:
         sum = sum + i
    print(sum)
    

      

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

  • 相关阅读:
    androidstudio配置模拟器路径
    Linux常见命令
    逆向助手使用
    Git服务器回滚到固定版本
    Git使用
    使用本地Gradle版本
    系统模拟器创建
    AndroidStudio设置代理
    关联、参数化、思考时间、检查点、事务的设置方式
    SQL:内连接、左外连接、右外连接、全连接、交叉连接区别
  • 原文地址:https://www.cnblogs.com/DcentMan/p/11128777.html
Copyright © 2011-2022 走看看