zoukankan      html  css  js  c++  java
  • 第十三课、基础篇综合习题

    1. 已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",要求如下
    
    1.1 请将a字符串的大写改为小写,小写改为大写。
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = []
    for i in xrange(len(a)):
        if a[i].isupper():
            b.append(a[i].lower())
        elif a[i].islower():
            b.append(a[i].upper())
        else:
            b.append(a[i])
    print ''.join(b)
    
    结果: AaSMR3IDD4BGS7dLSF9Eaf 
    
    方法二:
    print a.swapcase()
    
    
    1.2 请将a字符串的数字取出,并输出成一个新的字符串。
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = []
    c = []
    for i in xrange(len(a)):
        if a[i].isupper():
            b.append(a[i].lower())
        elif a[i].islower():
            b.append(a[i].upper())
        else:
            c.append(a[i])
    print ''.join(c)
    
    结果:3479 
    
    
    方法二:
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    print ''.join([s for s in a if s.isdigit()])
    
    
    
    1.3 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2}
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = []
    c = []
    for i in xrange(len(a)):
        if a[i].isupper():
            b.append(a[i])
        elif a[i].islower():
            b.append(a[i].upper())
        else:
            c.append(a[i])
    d = ''.join(b)
    
    e = []
    for str in set(d):
        e.append((str, d.count(str,0)))
    print dict(e)
    
    结果: {'A': 3, 'B': 1, 'E': 1, 'D': 3, 'G': 1, 'F': 2, 'I': 1, 'M': 1, 'L': 1, 'S': 3, 'R': 1} 
    
    方法二:
    dict([(x,a.count(x)) for x in set(a)])
    
    
    
    1.4 请去除a字符串多次出现的字母,仅留最先出现的一个。例 'abcabb',经过去除后,输出 'abc'
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = []
    for str in set(a):
        b.append(str)
    print ''.join(b)
    
    判定:结果错误
    
    正确结果如下 
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    a_list = list(a) # 转换成list, 主要是为了获得排序index 
    set_list = list(set(a_list)) # 去重以后再转回list 
    set_list.sort(key = a_list.index) # 对去重以后的list进行原先的排序 
    print ''.join(set_list) # 拼接成字符串 
    
    
    
    1.5 请将a字符串反转并输出。例:'abc'的反转是'cba'
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = list(a)
    b.reverse()
    a = ''.join(b)
    结果  'FAe9fslD7sgb4ddi3rmsAa'
    
    方法二:a[::-1]
    
    
    
    1.6 去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符 串。(保留大小写,a与A的顺序关系为:A在a前面。例:AaBb)
    '''
    1. 要有小写字母从a-z的排序 
    2. 大小写不同,但值相同的字母,大写在小写的后面
    '''
    
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    
    
    1.7 请判断 'boy'里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False.
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = set('boy')
    print b
    for str in b:
        if str in a:
            print (str,'True')
        else:
            print (str,'Flase')
    结果:
    set(['y', 'b', 'o'])
    ('y', 'Flase')
    ('b', 'True')
    ('o', 'Flase')
    
    
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = 'boy'
    u = set(a)
    u.update(list(b))
    print len(set(a)) == len(u)
    
    
    1.8 要求如1.7,此时的单词判断,由'boy'改为四个,分别是 'boy','girl','bird','dirty',请判断如上这4个字符串里的每个字母,是否都出现在a字符串里。
    
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = set()
    x = ['boy','girl','bird','dirty']
    for item in x:
        b.update(item)
    print b
    
    for str in b:
        if str in a:
            print (str,'True')
        else:
            print (str,'Flase')
    
    结果:
    set(['b', 'd', 'g', 'i', 'l', 'o', 'r', 't', 'y'])
    ('b', 'True')
    ('d', 'True')
    ('g', 'True')
    ('i', 'True')
    ('l', 'True')
    ('o', 'Flase')
    ('r', 'True')
    ('t', 'Flase')
    ('y', 'Flase')
    
    
    
    1.9 输出a字符串出现频率最高的字母
    
    
    a = 'aAsmr3idd4bgs7Dlsf9eAF'
    b = []
    for i in set(a):
        b.append((i, a.count(i,0)))
    print b
    
    方法一:
    b.sort(key = lambda x:x[1], reverse = True)
    print b
    print b[0]
    
    方法二:
    import operator
    b.sort(key = operator.itemgetter(1), reverse=True)
    print b
    print b[0]
    
    
    2.在python命令行里,输入import this 以后出现的文档,统计该文档中,"be" "is" "than" 的出现次数。
    import os
    m = os.popen('python -m this').read()
    m = m.replace('
    ','')
    l = m.split(' ')
    print [(x,l.count(x)) for x in ['be','is','than']]
    
    
    3.一文件的字节数为 102324123499123 ,请计算该文件按照kb与mb计算得到的大小。
    size = 102324123499123 
    kb size >> 10
    mb size >> 20
     
    4.已知  a =  [1,2,3,6,8,9,10,14,17],请将该list转换为字符串,例如 '123689101417'.
    a = [1,2,3,6,8,9,10,14,17]
    print str(a)
    print str(a)[1:-1].replace(', ','')
  • 相关阅读:
    关于父子页面的交互
    Spring在代码中获取bean的几种方式(转:http://www.dexcoder.com/selfly/article/326)
    关于Zookeeper
    Java 生成pdf表格文档
    Spring 框架中Http请求处理流程
    关于redis
    Xstream 解析xml文件内容
    ArrayBlockingQueue 和LinkedBlockQueue
    spring IOC
    springboot启动过程
  • 原文地址:https://www.cnblogs.com/huiming/p/5551471.html
Copyright © 2011-2022 走看看