zoukankan      html  css  js  c++  java
  • python基础|数据类型练习题

    '''
    1,请用代码实现:利用下划线将列表中的每一个元素拼接成字符串,|l = ['alex', 'eric', 'rain']
    '''
    # l = ['alex', 'eric', 'rain']
    # s ='_'.join(l) # join迭代送入
    # print(s)

    '''
    2,查找下列表中的元素,移除每个元素的空格,并查找以A或a开头且以c结尾的所有元素
    li = ['alex', ' aric', 'Alex', 'Tony', 'rain']
    li = ['alex', ' aric', 'Alex', 'Tony', 'rain']
    dic = {'K1':alex','K2':' aric', 'K3':'Alex', 'K4':Tony'}
    '''
    # li = ['alex', ' aric', 'Alex', 'Tony', 'rain']
    # tu = ('alex', ' aric', 'Alex', 'Tony', 'rain')
    # dic = {'K1': 'alex', 'K2': ' aric', 'K3': 'Alex', 'K4': 'Tony'}
    # list2 = []
    # list1 = []

    # for i in li:
    # a1 = i.strip() # 移除空格
    # list2.append(a1)
    # if a1.startswith('A') or a1.startswith('a'):
    # if a1.endswith('c'):
    # list1.append(a1)
    # print(list2)
    # print(list1)
    # list2 = []
    # list1 = []
    # for i in tu:
    # a1 = i.strip() # 移除空格
    # list2.append(a1)
    # if a1.startswith('A') or a1.startswith('a'):
    # if a1.endswith('c'):
    # list1.append(a1)
    # print(list2)
    # print(list1)
    # list2 = []
    # list1 = []
    # for i in dic.values():
    # a1 = i.strip()
    # list2.append(a1)
    # if a1.startswith('A') or a1.startswith('a'):
    # if a1.endswith('c'):
    # list1.append(a1)
    # print(list2)
    # print(list1)

    '''
    3,写代码,有如下表,按照要求实现每一个功能
    li = ['alex', 'aric', 'rain']
    '''
    li = ['alex', 'aric', 'rain']
    # 计算列表的长度
    print(len(li))

    # 列表中追加元素‘seven',并输出添加后的列表
    li.append('seven')
    print(li)

    # 请在列表第一个元素插入'Tony'
    li.insert(0,'Tony') # 根据索引插入元素
    print(li)

    # 请修改列表中第二个位置的元素为‘kelly',并输出修改后的列表
    li.pop(1)
    li.insert(1,'kelly')
    print(li)

    # 请删除列表中的’eric',并输出修改后的列表
    a = li.index('aric') # 查找‘Eric’的位置
    li.pop(a) # 按索引删除
    print(li)

    # 请删除列表中的第二个值,请输出删除的值和删除后的列表
    a = li.pop(1) # 按索引删除,并用a接受删除值
    print(a,li)

    # 请删除列表中的第三个值,并输出删除后的列表
    li.pop(2)
    del li[2]
    li.remove('rain')
    print(li)

    # 请删除列表中的第2个到第4个元素,并输出删除后的列表
    li.extend([1, 3])
    print(li)
    del li[1:4:1]
    print(li)

    # 请将列表中的值反转,请输出反转后的列表
    print(li[::-1])

    # 请使用for,len,range输出列表的索引
    for i in range(len(li)):
    print(i)

    # 请使用enumr ate输出列表的元素和序号
    for i,j in enumerate(li):
    print(i,j)

    # 请使用for循环列表中所有元素
    for i in li:
    print(i)

    '''
    4 ,写代码,有如下列表,请按照功能要求实现每一个功能
    li = ['hello', 'seven', ['mom', ['h','kelly'], 'all'], 123, 446]
    '''
    li = ['hello', 'seven', ['mom', ['h', 'kelly'], 'all'], 123, 446]
    # 请根据索引输出'kelly'
    print(li[2][1][1])

    # 请使用索引找到'all'元素并将其修改为'ALL’,
    print(li[2][2].upper())

    '''
    5, 写代码,有如下元组,请按照功能要求实现每一个功能
    tu = ('alex', 'eric', 'rain')
    '''
    tu = ('alex', 'eric', 'rain')
    # 计算元组长度并输出
    print(len(tu))

    # 获取元组的第二个元素,并输出
    print(tu[1])

    # 获取元组第1-2个元素,并输出
    print(tu[1],tu[2])

    # 请使用for循环输出元组的元素
    for i in tu:
    print(i)

    # 请使用for , len, range输出元组索引
    for i in range(len(tu)):
    print(i)

    # 请使用enumerate输出元组和序号
    for i,j in enumerate(tu):
    print(i,j)



    '''
    6 有如下变量,请按要求实现功能
    tu = ('alex',[11, 22, {'k1': 'v1','k2':['age', 'name'], 'k3':(11, 22, 33)}, 44])
    '''
    tu = ('alex',[11, 22, {'k1': 'v1','k2':['age', 'name'], 'k3':(11, 22, 33)}, 44])
    # 讲述元组的特性
    # 可以存多个值,不可改变

    # 请问tu变量中的第一个元素“alex"是否可以被修改
    # 不可以

    # 请问tu变量中的k2对应的值是什么类型?是否可以被修改?如果可,请在其中添加一个元素‘Seven'
    tu[1][2]['k2'].insert(0, 'Seven')
    print(tu)

    # 请问tu变量中的k3对应的值是什么类型?是否可以被修改?如果可,请在其中添加一个元素‘Seven'
    #是元组,不可修改

    '''
    7, 字典
    dic = {'k1': 'v1', 'k1': 'v2', 'k3':[11, 22, 33]}
    '''
    dic = {'k1': 'v1', 'k2': 'v2', 'k3':[11, 22, 33]}
    # 请循环输出所有的key
    for i in dic:
    print(i)

    # 请循环输出所有value
    for i in dic.values():
    print(i)

    # 请循环输出所有的key和value
    for i in dic:
    print(i,dic[i])

    # 请在字典添加一个键值对
    dic['k4'] = 'v4'
    print(dic)

    res = dic.setdefault('k4','v4')
    print(res)
    print(dic)

    # 请修改k1对应的值为‘alex',输出修改后的字典
    dic['k1'] = 'alex'
    print(dic)

    # 请在k3对应元素追加一个元素44,输出修改后的字典
    dic['k3'].append(44)
    dic['k3'].insert(0,44)
    dic['k3'].extend([44])
    print(dic)

    # 请在k3对应的值的第一个位置插入一个元素18,请输出修改后的字典
    dic['k3'].insert(0, 18)
    print(dic)

    '''
    8 转换
    '''
    s = 'alex'
    # 1将字符串转换成列表
    lis = []
    for i in s:
    lis.append(i)
    print(lis)

    # 将字符串a = 'alex'转换成元组
    lis = []
    for i in s:
    lis.append(i)
    print(tuple(lis))

    # 将列表li = ['alex', 'seven']转换成元组
    li = ['alex', 'seven']
    print(tuple(li))

    # 将元组tu = ('alex', 'seven')转换成列表
    tu = ('alex', 'seven')
    lis = []
    for i in tu:
    lis.append(i)
    print(lis)

    # 将列表li = ['alex', 'seven'],转换成字典,且字典的key以10开始往后递增
    li = ['alex', 'seven']
    a = {}.fromkeys(li, 10)
    print(a)

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

    '''
    10 输出商品列表,让用户输入序列号,显示用户选中的商品
    商品 li = ['手机’, ‘电脑’, ‘鼠标垫’, ‘游艇’]
    1 ,允许用户添加商品
    2 ,输入用户显示内容
    '''
    li = ['手机', '电脑', '鼠标垫', '游艇']
    goods = []

    sigen = True
    while sigen:
    print('0:手机', '1:电脑', '2:鼠标垫', '3:游艇')
    goods_num = int(input("请输入商品序列号:").strip())
    goods.append(li[goods_num])
    print(goods)
    com = input('是否继续购物(Y/N):').strip()
    if com == 'N':
    sigen = False
    print('购物结束!欢迎再来')

    '''
    11, 用户交互显示类似省市N级联动的选择
    1, 允许用户增加内容
    2, 允许用户查看某一级别内容
    '''
    dic = {'河南省':{'郑州市':['金水区'],}, '上海市':{'上海市':['徐汇区']}}
    sheng = input('请输入所在省份名:').strip()
    if sheng in dic:
    shi = input('请输入所在市级名:').strip()
    if shi in dic[sheng]:
    qu = input('请输入所在区:').strip()
    if qu in dic[sheng][shi]:
    print('省/直辖市/自治区:{}, 市:{}, 县/区;{}'.format(sheng, shi, qu))
    else:
    dic[sheng][shi].append(qu)
    print('省/直辖市/自治区:{}, 市:{}, 县/区;{}'.format(sheng, shi, qu))
    else:
    dic[sheng][shi] =[]
    qu = input('请输入所在区:').strip()
    # print(dic[sheng][shi])
    dic[sheng][shi].append(qu)
    print('省/直辖市/自治区:{}, 市:{}, 县/区;{}'.format(sheng, shi, qu))
    else:
    dic[sheng] = {}
    shi = input('请输入所在市级名:').strip()
    dic[sheng][shi] = []
    qu = input('请输入所在区:').strip()
    dic[sheng][shi].append(qu)
    print('省/直辖市/自治区:{}, 市:{}, 县/区;{}'.format(sheng, shi, qu))

    '''
    12列举布尔值是False的所有值
    '''
    # 0 ,'',[],(),{},None

    '''
    13 有两个列表
    l1 = [11, 22, 33]
    l2 = [22, 33, 44]
    '''
    l1 = [11, 22, 33]
    l2 = [22, 33, 44]
    s1 = set(l1)
    s2 = set(l2)

    # # 获取l1中有,l2中没有的值
    # for i in l1:
    # if i not in l2:
    # print(i)
    # print(s1 - s2)

    # 获取l1和l2中内容都没有的元素
    print(s1 ^ s2)

    '''
    14,利用for循环和range输出
    '''
    for循环从大到小输出1-100
    for i in range(1, 101):
    print(i,end=', ')

    for循环从大到小输出100-1
    lis = [i for i in range(1, 101)]
    # lis.reverse()
    # for j in lis:
    # print(j, end=', ')

    # while循环从大到小输出1-100
    i = 1
    while i <= 100:
    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('{}*{}={} '.format(j, i, i*j), end ='')
    print()

    '''
    16, 求100以内的素数
    '''
    # 素数大于等于2的数,且除了自身和1,不能被其他数整除
    a = 0
    for i in range(2,101): # 从2开始到100内的数遍历
    for j in range(2, i): # 遍历这个数2到i-1的数。
    if i % j == 0: # 判断这个数能被区间(2 i-1)的数整除不?
    break # 可以被整除,跳出本层for循环
    else:
    print(i,end=', ')

    '''
    17 用冒泡法将[1, 3, 2, 7, 6, 13, 41, 24, 33, 85, 56]从大到小排列
    '''
    l1 = [1, 3, 2, 7, 6, 13, 41, 24, 33, 85, 56]
    for i in range(len(l1)):
    for j in range(i, len(l1)):
    if l1[i] < l1[j]:
    l1[i], l1[j] = l1[j], l1[i]
    print(l1)
  • 相关阅读:
    顺序栈的模拟
    Maven安装教程详解
    C# CRC
    Oracle知识分类之常见规范
    Oracle知识分类之异常
    el-tree树结构的数据封装
    sessionStorage和localStorage
    el-form 中为el-input 添加正则校验 以及el-input正则限制
    动态组件与父子传值的灵活应用 ref控制子组件 props,emit传值
    el-tree树组件的封装 (运用递归对接口返回当前菜单数据为对象处理)
  • 原文地址:https://www.cnblogs.com/huaiXin/p/11173918.html
Copyright © 2011-2022 走看看