第十三课基础篇综合习题

Posted 慧命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十三课基础篇综合习题相关的知识,希望对你有一定的参考价值。

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(\n,‘‘)
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(, ,‘‘)

 

以上是关于第十三课基础篇综合习题的主要内容,如果未能解决你的问题,请参考以下文章

重学java基础第十三课:java帝国的诞生

重学java基础第十三课:java帝国的诞生

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十三课

Jsp第十三课 MVC+三层架构

wxWidgets第十三课 wxMemoryDC 使用缓存DC渲染

python第十三课——嵌套循环