zoukankan      html  css  js  c++  java
  • python—基础练习2

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

    li=['alex', 'eric', 'rain']
    print('%s_%s_%s'%(l1[0],l1[1],l1[2]))
    li=['alex','eric','rain']
    n="_".join(li)
    print(n)

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

    li = ["alec", " aric", "Alex", "Tony", "rain"]

    for i in li:
       n=i.strip()
       if( n.startswith('a') or n.startswith('A')) and n.endswith('c'):
          print(i)

    tu = ("alec", " aric", "Alex", "Tony", "rain")

    for i in tu;
       n=i.strip()
       if( n.startswith('a') or n.startswith('A')) and n.endswith('c'):
          print(i)

    dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}

    for i in dic:
       n=dic[i].strip()
       if( n.startswith('a') or n.startswith('A')) and n.endswith('c'):
          print(n)

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

    li=['alex', 'eric', 'rain']

    • 计算列表长度并输出
    • 列表中追加元素“seven”,并输出添加后的列表
    • 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    • 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    • 请删除列表中的元素“eric”,并输出修改后的列表
    • 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    • 请删除列表中的第3个元素,并输出删除元素后的列表
    • 请删除列表中的第2至4个元素,并输出删除元素后的列表
    • 请将列表所有的元素反转,并输出反转后的列表
    • 请使用for、len、range输出列表的索引
    • 请使用enumrate输出列表元素和序号(序号从100开始)
    • 请使用for循环输出列表的所有元素
    #计算列表长度并输出
    l1=['alex', 'eric', 'rain']
    print(len(l1))
    #列表中追加元素“seven”,并输出添加后的列表
    l1 = ['alex', 'eric', 'rain']
    l1.append('seven')
    print(l1)
    #请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    l1 = ['alex', 'eric', 'rain']
    l1.insert(0,'Tony')
    print(l1)
    #请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    l1 = ['alex', 'eric', 'rain']
    l1[1]='Kelly'
    print(l1)
    #请删除列表中的元素“eric”,并输出修改后的列表
    l1 = ['alex', 'eric', 'rain']
    l1.remove('eric')
    print(l1)
    #请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    l1 = ['alex', 'eric', 'rain']
    popl1[2]
    print(l1)
    #请删除列表中的第3个元素,并输出删除元素后的列表
    l1 = ['alex', 'eric', 'rain']
    del l1[2]
    print(l1)
    #请删除列表中的第2至4个元素,并输出删除元素后的列表
    l1 = ['alex', 'eric', 'rain']
    del l1[1:4]
    print(l1)
    #请将列表所有的元素反转,并输出反转后的列表
    l1 = ['alex', 'eric', 'rain']
    l1.reverse()
    print(l1)
    #请使用for、len、range输出列表的索引
    l1 = ['alex', 'eric', 'rain']
    for i in range(len(l1)):
        print(i)
    #请使用enumrate输出列表元素和序号(序号从100开始)
    l1 = ['alex', 'eric', 'rain']
    for k,v in enumerate(l1,100):
        print(k,v)
    #请使用for循环输出列表的所有元素
    for i in l1:
        print(i)

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

    li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]

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

     

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

    tu=('alex', 'eric', 'rain')

    • 计算元组长度并输出
    • 获取元组的第2个元素,并输出
    • 获取元组的第1-2个元素,并输出
    • 请使用for输出元组的元素
    • 请使用for、len、range输出元组的索引
    • 请使用enumrate输出元祖元素和序号(序号从10开始)
    tu=('alex', 'eric', 'rain')
    # 计算元组长度并输出
    print(len(tu))
    # 获取元组的第2个元素,并输出
    print(tu[1])
    # 获取元组的第1 - 2个元素,并输出
    print(tu[1:3])
    # 请使用for输出元组的元素
    for i in tu:
        print(i)
    # 请使用for、len、range输出元组的索引
    for i in range(len(tu)):
        print(i)
    # 请使用enumrate输出元祖元素和序号(序号从10开始)
    for index,i in enumerate(tu,10):
        print(index,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)
    • 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
    #元组,不能修改
    tu[1][2]["k3"].append("Seven")
    print(tu)

     7、字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

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

    8、转换

    • 将字符串s = "alex"转换成列表
    print(list(s))
    ['a', 'l', 'e', 'x']#执行结果
    • 将字符串s = "alex"转换成元祖
    print(tuple(s))
    ('a', 'l', 'e', 'x')#执行结果
    • 将列表li = ["alex", "seven"]转换成元组
    print(tuple(li))
    ('alex', 'seven')#执行结果
    • 将元祖tu = ('Alex', "seven")转换成列表
    print(list(li))
    ['alex', 'seven']#执行结果
    • 将列表li = ["alex", "seven"]转换成字典且字典的key按照10开始向后递增
    li = ["alex","seven"]
    n1 = {}
    for k,v in enumerate(li,10):
        n1[k] = v
        print(n1)
    
    {10: 'alex'}         #执行结果
    {10: 'alex', 11: 'seven'}

    9、元素分类

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

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

    k=[11,22,33,44,55,66,77,88,99,90]
    n1=[]
    n2=[]
    for i in k:
       if i<66:
          n1.append(i)
       else:
          n2.append(i)
    dic={'k1':n1,'k2':n2}
    print(dic)
    
    {'k1': [11, 22, 33, 44, 55], 'k2': [66, 77, 88, 99, 90]}#执行结果

     

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

    商品li = ["手机", "电脑", '鼠标垫', '游艇']

    • 允许用户添加商品
    • 用户输入序号显示内容
    li = ["手机", "电脑", '鼠标垫', '游艇']
    print('商品列表'.center(20,'-'))
    n1=input('是否添加商品?Y/y')
    if n1=='y' or n1=='Y'
    n2=input('请添加商品:')
    li.append(n2)
    for index ,i in enumerate(li): print(index+1,i)

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

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

     

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

    None ,"" , () ,[] , {} ,0

    3、有两个列表

    l1 = [11,22,33]

    l2 = [22,33,44]

    • 获取内容相同的元素列表
    for i in l1:
        if i in l2:
            print(i)
    22
    33
    • 获取l1中有,l2中没有的元素列表
    for i in l1:
       if i not in l2:
          print(i)
    11
    • 获取l2中有,l1中没有的元素列表
    for i in l2:
       if i in l1:
          print(i)
    44
    • 获取l1和l2中内容都不同的元素
    for i in l2:
        if i not in l1:
            print(i)
    for v in l1:
        if v not in l2:
            print(v)
    44
    11

    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
    while True:
       a=100
       for i in range(100):
          print(a-i)
       break
    • While循环从小到大输出100 - 1
      while True:
         a=1
         for i in range(100):
            print(a+i)
         break

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

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

     16、求100以内的素数和。(编程题)

    #质数又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19
    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]从小到大排序(冒泡法)(编程)

     

  • 相关阅读:
    继承
    反射
    DOS使用笔记
    [LeetCode] Merge Intervals
    [LeetCode] Insert Interval
    [LeetCode] Permutation Sequence
    [LeetCode] Rotate List
    [LeetCode] Text Justification
    [LeetCode] Simplify Path(可以不用看)
    [LeetCode] Edit Distance(很好的DP)
  • 原文地址:https://www.cnblogs.com/xiaobai-yemao/p/8516906.html
Copyright © 2011-2022 走看看