切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
python基础-第三周习题及答案讲解[复制链接]
发表于 2013-1-19 13:43:37 | 显示全部楼层 |!read_mode!
  1. #coding=utf-8



  2. #1. 已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",要求如下
  3. #


  4. a = "aAsmr3idd4bgs7Dlsf9eAF"

  5. #1.1 请将a字符串的大写改为小写,小写改为大写。
  6. #
  7. a = "aAsmr3idd4bgs7Dlsf9eAF"

  8. print a.swapcase()

  9. #1.2 请将a字符串的数字取出,并输出成一个新的字符串。
  10. #
  11. a = "aAsmr3idd4bgs7Dlsf9eAF"

  12. print ''.join([s for s in a if s.isdigit()])


  13. '''


  14. [s for s in a if s.isdigit()]


  15. ''.join()

  16. '''

  17. #1.3 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2}
  18. #
  19. a = "aAsmr3idd4bgs7Dlsf9eAF"

  20. a = a.lower()
  21. print dict([(x,a.count(x)) for x in set(a)])

  22. '''

  23. dict([(x,a.count(x)) for x in set(a)])


  24. dict()

  25. [(x,a.count(x)) for x in set(a)]
  26. '''
  27.             
  28.             
  29. #1.4 请去除a字符串多次出现的字母,仅留最先出现的一个。例 'abcabb',经过去除后,输出 'abc'
  30. #
  31. a = "aAsmr3idd4bgs7Dlsf9eAF"

  32. a_list = list(a) #转换成list
  33. set_list = list(set(a_list)) #去重以后再转换回list
  34. set_list.sort(key=a_list.index) #对去重以后的list进行原先的排序
  35. print ''.join(set_list)#拼接成字符串


  36. #1.5 请将a字符串反转并输出。例:'abc'的反转是'cba'
  37. #
  38. a = "aAsmr3idd4bgs7Dlsf9eAF"

  39. print a[::-1] #步进

  40. #1.6 去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符串。(保留大小写,a与A的顺序关系为:A在a前面。例:AaBb)
  41. #

  42. '''

  43. 1.要有小写字母从a-z的排序
  44. 2.大小写不同,但值相同的字母,大写在小写的前面



  45. '''

  46. a = "aAsmr3idd4bgs7Dlsf9eAF"

  47. l = sorted(a)

  48. a_upper_list = []
  49. a_lower_list = []

  50. for x in l:
  51.     if x.isupper():
  52.         a_upper_list.append(x)
  53.     elif x.islower():
  54.         a_lower_list.append(x)
  55.     else:
  56.         pass

  57. for y in a_upper_list:
  58.     y_lower = y.lower()
  59.     if y_lower in a_lower_list:
  60.         a_lower_list.insert(a_lower_list.index(y_lower),y)

  61. print ''.join(a_lower_list)
  62.         


  63. #1.7 请判断 'boy'里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False.
  64. #

  65. a = "aAsmr3idd4bgs7Dlsf9eAF"
  66. search = 'boy'

  67. u = set(a)
  68. u.update(list(search))
  69. print len(set(a)) == len(u)

  70. ##下列解答来自swfer同学,这样更graceful:)
  71. a = "aAsmr3idd4bgs7Dlsf9eAF"
  72. print set('boy').issubset(set(a))


  73. #1.8 要求如1.7,此时的单词判断,由'boy'改为四个,分别是 'boy','girl','bird','dirty',请判断如上这4个字符串里的每个字母,是否都出现在a字符串里。
  74. #


  75. a = "aAsmr3idd4bgs7Dlsf9eAF"
  76. search = ['boy','girl','bird','dirty']

  77. b = set(a)
  78. for i in search:
  79.     b.update(list(i))

  80. print len(b) == len(set(a))


  81. ##下列解答来自swfer同学,这样更graceful:)
  82. a = "aAsmr3idd4bgs7Dlsf9eAF"
  83. lst=['boy','girl','bird','dirty']
  84. s=''.join(lst)
  85. print set(s).issubset(set(a))




  86. #1.9 输出a字符串出现频率最高的字母

  87. a = "aAsmr3idd4bgs7Dlsf9eAF"


  88. l = ([(x,a.count(x)) for x in set(a)])
  89. l.sort(key = lambda k:k[1],reverse=True)
  90. print l[0][0]


  91. #
  92. #
  93. #2.在python命令行里,输入import this 以后出现的文档,统计该文档中,"be" "is" "than" 的出现次数。
  94. #

  95. import os
  96. m =  os.popen('python -m this').read()
  97. m = m.replace('\n','')
  98. l = m.split(' ')
  99. print [(x,l.count(x)) for x in ['be','is','than']]

  100. #
  101. #3.一文件的字节数为 102324123499123,请计算该文件按照kb与mb计算得到的大小。


  102. size = 102324123499123

  103. print '%s kb'%(size >> 10)
  104. print '%s mb'% (size >> 20)

  105. #
  106. #4.已知  a =  [1,2,3,6,8,9,10,14,17],请将该list转换为字符串,例如 '123689101417'.
  107. #

  108. a =  [1,2,3,6,8,9,10,14,17]


  109. print str(a)[1:-1].replace(', ','')

  110. #
复制代码



代码区

GMT+8, 2019-11-12 09:55

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部