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
  • 相关阅读:
    html实现虚线分隔线3例
    sql server 中将由逗号“,”分割的一个字符串,转换为一个表,并应用与 in 条件
    在Repeater中添加runat="server"的div,并控制
    Oracle中实现自增长列(转)
    SQL中按月进行分组(转)
    复制到剪切板js代码(转)
    如何使 Menu控件的链接打开指定的框架页(转)
    RadioButtonList限制每行"项"的个数
    Repeater_ItemDataBound 中用字段名获取值
    IIS7.0下配置Asp项目
  • 原文地址:https://www.cnblogs.com/aaaajayheng1990/p/8673262.html
Copyright © 2011-2022 走看看