开启辅助访问 切换到窄版

Python基本数据类型操作使用练习手册

[复制链接]
作者:hanhongwen 
版块:
Python Python-软件安装 发布时间:2018-7-3 22:27:41
1420

管理员

积分
6655
QQ
hanhongwen 发表于 2018-7-3 22:27:41 | 显示全部楼层 |阅读模式
#coding=utf-8
#@description:

#一.已经字符串 s = "i,am,lilei",请用两种办法取出之间的“am”字符。
print '第一题-----------------------------'

#方法1
  1. s = "i,am,lilei"
  2. print s[2:4]
复制代码

##方法2
  1. c = s.split(',')[1]
  2. print c
复制代码


print '第二题-----------------------------'

#二.在python中,如何修改字符串?

#答案:可以用字符串的replace方法.
  1. ainfo = 'i love php'
  2. replycontent = ainfo.replace('php','python')
  3. print replycontent
复制代码


print '第三题-----------------------------'

#三.bool("2012" == 2012) 的结果是什么。

##答案:结果是fasle,==判断对象的数据类型,尽管看起来数值是一样的,但是他们的类型不同,一个是字符串,一个是数字


print '第四题-----------------------------'

##四.已知一个文件 test.txt,内容如下:

  1. f = open('test.txt','r')
  2. content = f.read()
  3. dcontent = content.decode('utf-8')##转换为unicode
复制代码


##1.请输出内容
  1. print content
复制代码


##2.请计算该文本的原始长度.
  1. print len(dcontent)
复制代码


##3.请去除该文本的换行
  1. print content.replace('\n','')
复制代码


##4.请替换其中的字符"2012"为"2013"。
  1. print content.replace('2012','2013')
复制代码


##5.请取出最中间的长度为5的子串。
  1. print dcontent[len(dcontent)/2:len(dcontent)/2+5].encode('utf-8')
复制代码

##6.请取出最后2个字符。
  1. print 'aaaa--------'
  2. print dcontent[-2:].encode('utf-8')
  3. print 'bbbb--------'
复制代码

##7.请从字符串的最初开始,截断该字符串,使其长度为11.
  1. print dcontent[:11].encode('utf-8')
复制代码


##8.请将{4}中的字符串保存为test1.py文本.

  1. rinfo = content.replace('2012','2013')
  2. f = open('test1.py','w')
  3. f.write(rinfo)
  4. f.close()##关闭文件
复制代码


print '第五题-----------------------------'

##五.请用代码的形式描述python的引用机制。

  1. import sys

  2. cinfo = '1234'
  3. print id(cinfo)
  4. print sys.getrefcount('1234')   

  5. binfo = '1234'
  6. print id(binfo)
  7. print sys.getrefcount('1234')
复制代码


print '第六题-----------------------------'

##六.已知如下代码

a = "中文编程"  ##引用计数开始是3,然后a变量引用了字符串对象3 + 1 =4
  1. print "a:%s" % id(a)

  2. b = a
  3. print "b:%s" % id(b)##4 + 1 = 5

  4. c = a
  5. print "c:%s" % id(c)## 5 + 1 = 6

  6. print sys.getrefcount('中文编程')##输出结果是6
  7. print 'ssss'
  8. a = "python编程"
  9. print "a:%s" % id(a)###6-1 = 5##a引用另外一个字符串对象

  10. b = u'%s' % a.decode('utf-8')
  11. print "b:%s" % id(b)###5-1 = 4

  12. print sys.getrefcount('中文编程')##输出结果是4

  13. d = "中文编程"
  14. print "d:%s" % id(d)###新建一个变量,引用字符串 4 + 1 = 5

  15. e = a
  16. print "e:%s" % id(e)

  17. c = b
  18. print "c:%s" % id(c)### c引用另外一个字符串对象,5 - 1 = 4

  19. print sys.getrefcount('中文编程')


  20. b2 = a.replace("中","中")
  21. print "b2:%s" % id(b2)

  22. print 'result-----------------'
  23. print sys.getrefcount('中文编程')
  24. print sys.getrefcount('python编程')
复制代码



print '第七题-----------------------------'
##七.已知如下变量

a = "字符串拼接1"
b = "字符串拼接2"
#
##请用四种以上的方式将a与b拼接成字符串c。并指出每一种方法的优劣

##方法1:在做大量的字符串对象拼接的时候不推荐

  1. c = a + b
复制代码


##方法2:

  1. c = "%s%s" % (a,b)
复制代码


###方法3:
  1. print 'format'
  2. c = "{a}{b}" .format (a=a,b=b)
复制代码



##方法4:

  1. c = "".join([a,b])

  2. print c
复制代码



##请将a与b拼接成字符串c,并用逗号分隔。

  1. c = '%s,%s' % (a,b)
复制代码


##.请计算出新拼接出来的字符串长度,并取出其中的第七个字符。
  1. lennum = len(c.decode('utf-8'))
  2. print c.decode('utf-8')[6].encode('utf-8')
复制代码


print '第八题-----------------------------'
##八.请阅读string模块,并且,根据string模块的内置方法输出如下几题的答案
  1. import string
复制代码

##1.包含0-9的数字。

  1. #print help(string)
  2. print string.digits
复制代码


##2.所有小写字母
  1. print string.lowercase
复制代码


##3.所有标点符号
  1. print string.punctuation
复制代码


##4:所有大写字母和小写字母。
  1. print string.ascii_lowercase##小写字母
  2. print string.ascii_uppercase##大写字母
  3. print '\n'
  4. ##5:请使用你认为最好的办法将{1}-{4}点中的字符串拼接成一个字符串。
  5. strinfo = []
  6. strinfo.append(string.digits)
  7. strinfo.append(string.lowercase)
  8. strinfo.append(string.punctuation)
  9. strinfo.append(string.ascii_lowercase)
  10. strinfo.append(string.ascii_uppercase)
  11. print "".join(strinfo)
  12. print '\n'
  13. strinfo = "%s%s%s%s%s" % (string.digits,string.lowercase,string.punctuation,string.ascii_lowercase,string.ascii_uppercase)
  14. print strinfo
复制代码




print '第九题-----------------------------'
##九.已知字符串

  1. a = "i,am,a,boy,in,china"
复制代码


##1.假设boy和china是随时可能变换的,例boy可能改成girl或者gay,而china可能会改成别的国家,你会如何将上面的字符串,变为可配置的。

  1. ac = "i,am,a,%(sex)s,in,%(country)s"  % {'sex':'girl','country':'china'}
  2. bc = "i,am,a,{sex},in,{country}" .format (sex='girl',country='india')
  3. print ac
  4. print bc
复制代码


##2.请使用2种办法取出其间的字符"boy"和"china"。

##方法1
  1. print a[7:10]
  2. print a[-5:]
复制代码


##方法2
  1. cinfo = a.split(',')
  2. print cinfo[3]
  3. print cinfo[-1]
复制代码


##3.请找出第一个"i"出现的位置。

  1. print a.find('i')##-1
  2. print a.index('i')##报错
复制代码


##4.请找出"china"中的"i"字符在字符串a中的位置。
  1. print a.find('i',a.find('china'))
  2. print a.rfind('i')
复制代码


##5.请计算该字符串一共有几个逗号
  1. print a.count(',')
复制代码


print '第十题-----------------------------'
##十.请将模块string的帮助文档保存为一个文件。

  1. import sys
  2. import string

  3. f = open('test.log','w')
  4. sys.stdout = f
  5. help(string)
  6. f.close()
复制代码


以上为Python基本数据类型操作使用练习手册练习及答案,祝你成功

    15561578755
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表