zoukankan      html  css  js  c++  java
  • 第二章练习题

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

    1 li = ['alex','eric','rain']
    2 a = '_'.join(li)
    3 print(a)
    View Code

    2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。
    li=["alec","aric","Alex","Tony","rain"]
    tu=("alec","aric","Alex","Tony","rain")
    dic={'k1':"alex",'k2':'aric',"k3":"Alex","k4":"Tony"}

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

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

    a.计算列表长度并输出

    1 print(len(li))
    View Code

    b.列表中追加元素“seven”,并输出添加后的列表

    1 li.append('seven')
    2 print(li)
    View Code

    c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表

    li.insert(0,'Tony')
    print(li)
    View Code

    d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表

    li[1] = 'kelly'
    print(li)
    View Code

    e.请删除列表中的元素“eric”,并输出修改后的列表

    1  li.remove('eric')
    2 print(li)
    View Code

    f.请删除列表中的第2个元素,并输出删除元素的值和删除元素后的列表

    1 print(li.pop(1))
    2 print(li)
    View Code

    g.请删除列表中的第3个元素,并输出删除元素后的列表

    1 li.pop(2)
    2 print(li)
    View Code

    h.请删除列表中的第2至4个元素,并输出删除元素后的列表

    1 del li[1:4]
    2 print(li)
    View Code

    i.请将列表所有的元素反转,并输出反转后的列表

    li.reverse()
    print(li)
    View Code

    j.请使用for、len、range输出列表的索引

    1 for i in range(len(li)):
    2      print(i)
    View Code

    k.请使用enumrate输出列表元素和序号(序号从100开始)

    1 for index,i  in enumerate(li,100):
    2      print(index,i)
    View Code

    l.请使用for循环输出列表的所有元素

    for i in li :
        print(i)
    View Code

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

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

    a.请根据索引输出“Kelly”

    print(li[2][1][1])
    View Code

    b.请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...

    1 li[2][2] = 'All'
    2 print(li)
    View Code

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

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

    a.计算元组长度并输出

    print(len(tu))
    View Code

    b.获取元组的第2个元素,并输出

    print(tu[1])
    View Code

    c.获取元组的第1-­‐2个元素,并输出

    print(tu[0:2])
    View Code

    d.请使用for输出元组的元素

    for i in tu :
        print(i)
    View Code

    e.请使用for、len、range输出元组的索引

    for i in range(len(tu)) :
        print(i)
    View Code

    g.请使用enumrate输出元祖元素和序号(序号从10开始)

    for index,i in enumerate(tu,10) :
        print(index,i)
    View Code

    6、有如下变量,请实现要求的功能
    tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])

    a.讲述元祖的特性

    元祖与列表类似,不同的是元祖的元素不能修改。是有序的,不可改变的,元祖的值是可以被hash的

    b.请问tu变量中的第一个元素“alex”是否可被修改?

    不可以。

    c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”

    k2对应的值是列表,可以修改。

    tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
    tu[1][2]['k2'].append('seven')
    print(tu)
    View Code

    d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”

    k3对应的值是元祖,不可以修改。

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

    a.请循环输出所有的key

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    for i in dic :
        print(i)
    View Code

    b.请循环输出所有的value

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    for i in dic :
        print(dic[i])
    View Code

    c.请循环输出所有的key和value

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    for i in dic:
        print(i,dic[i])
    View Code

    d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    dic['k4'] = 'v4'
    print(dic)
    View Code

    e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    dic['k1'] = 'alex'
    print(dic)
    View Code

    f.请在k3对应的值中追加一个元素44,输出修改后的字典

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    dic['k3'].append('44')
    print(dic)
    View Code

    g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典

    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
    dic['k3'].insert(0,18)
    print(dic)
    View Code

    8、转换

    a.将字符串s="alex"转换成列表

    s = 'alex'
    a = list(s)
    print(a)

    b.将字符串s="alex"转换成元祖

    s = "alex"
    n1 = tuple(s)
    print(n1)
    View Code

    c.将列表li=["alex","seven"]转换成元组

    li = ["alex","seven"]
    n1 = tuple(li)
    print(n1)
    View Code

    d.将元祖tu=('Alex',"seven")转换成列表

    tu = ('Alex',"seven")
    n1 = list(tu)
    print(n1)
    View Code

    e.将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增

    1 li = ["alex","seven"]
    2 n1 = {}
    3 for k,v in enumerate(li,10):
    4 n1[k] = v
    5 print(n1)
    View Code

    9、元素分类

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

    1 lis = [11,22,33,44,55,66,77,88,99,90]
    2 lis.sort()
    3 dic = {'k1':[],'k2':[]}
    4 for i in  lis :
    5     if i > 66 :
    6         dic['k1'].append(i)
    7     if i <  66 :
    8         dic['k2'].append(i)
    9 print(dic)
    View Code

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

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

    a.允许用户添加商品

    b.用户输入序号显示内容

     1 li = ['手机', '电脑', '鼠标垫', '游艇']
     2 
     3 exi = True
     4 while exi :
     5 
     6     print('--------商品列表---------')
     7 
     8     for index,i in enumerate(li,1) :
     9         print(index,i)
    10     choice = input('是否添加商品?')
    11 
    12     if choice == 'y' or choice == 'Y' or choice == 'yes' :#判断用户是否添加商品
    13         choice1 = input('请输入添加商品:')
    14         li.append(choice1)#将用户输入的商品添加到商品列表中
    15         print(li)
    16 
    17     elif choice == 'n' or choice == 'N' or choice == 'no' :
    18         choice2 = input('是否查询商品')
    19         if choice2 == 'y' or choice2 == 'Y' or choice2 == 'yes' :#判断用户是否查询商品
    20             while True :
    21                 choice3 = input('请输入商品编号:')
    22                 if choice3.isdigit() :#如果用户输入的是编号
    23                     choice3 = int(choice3)#输入的变成数字
    24 
    25                     if choice3 > 0 and choice3 <= len(li) :#判断输入的是否在商品编号范围内
    26                         print(li[choice3-1])#列表是从1开始,所以需要减去1
    27 
    28                     elif choice3 > len(li) or choice3 <= 0 :#输入的数字不在商品编号范围内
    29                         print('输入错误,请重新输入')
    30 
    31                 elif choice3 == 'q' :#用户退出查询商品
    32                     break
    33 
    34                 else:
    35                     print('输入错误,请重新输入:')
    36 
    37     elif choice == 'q' :
    38         exi = False
    39 
    40     else:
    41         print('输入错误,请重新输入')
    View Code

    作业:三级菜单

     1 menu = {
     2     '北京':{
     3         '海淀':{
     4             '五道口':{
     5                 'soho':{},
     6                 '网易':{},
     7                 'Google':{}
     8             },
     9             '中关村':{
    10                 '爱奇艺':{},
    11                 '汽车之家':{},
    12                 'youku':{},
    13             },
    14             '上地':{
    15                 '百度':{},
    16             }
    17         },
    18         '昌平':{
    19             '沙河':{
    20                 '老男孩':{},
    21                 '北航':{}
    22             },
    23             '天通苑':{},
    24             '回龙观':{}
    25         },
    26         '朝阳':{},
    27         '东城':{}
    28     },
    29     '上海':{'闵行':{'人民广场':{'炸鸡店':{}}},'闸北':{'火车站':{'携程':{}}},'浦东':{},},
    30     '山东':{},
    31 }
    32 first_layer = menu
    33 layer = []
    34 exi = True
    35 while exi :
    36     for i in first_layer :
    37         print(i)
    38     choice = input('>>>').strip()
    39     if not choice :
    40         continue
    41     elif choice in first_layer :
    42         layer.append(first_layer)
    43         first_layer = first_layer[choice]
    44     elif choice == 'b' :
    45         if len(layer) > 0 :
    46             first_layer = layer.pop()
    47         else:
    48             print('已经是顶层')
    49     elif choice == 'q' :
    50         exi = False
    51     else:
    52         print('输入错误,请重新输入')
    View Code
  • 相关阅读:
    函数式宏定义与普通函数
    linux之sort用法
    HDU 4390 Number Sequence 容斥原理
    HDU 4407 Sum 容斥原理
    HDU 4059 The Boss on Mars 容斥原理
    UVA12653 Buses
    UVA 12651 Triangles
    UVA 10892
    HDU 4292 Food
    HDU 4288 Coder
  • 原文地址:https://www.cnblogs.com/aaaajayheng1990/p/8673262.html
Copyright © 2011-2022 走看看