#coding=utf-8
#@description:周末作业

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

#方法1
s = "i,am,lilei"
print s[2:4]
##方法2
c = s.split(',')[1]   #split方法返回的是一个列表
print c

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

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

#答案:可以用字符串的replace方法.
ainfo = 'i love php'
replycontent = ainfo.replace('php','python')
print replycontent

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

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

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

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

##四.已知一个文件 test.txt,内容如下:
2012来了。
2012不是世界末日。
2012欢乐多。

##1.请输出内容

#注意本文中的decode和encode请自动忽略,python3与python2不同。
f = open('test.txt','r')
content = f.read()
dcontent = content.decode('utf-8')##转换为unicode
print content

##2.请计算该文本的原始长度.
print len(dcontent)

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

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

##5.请取出最中间的长度为5的子串。
print dcontent[len(dcontent)/2:len(dcontent)/2+5].encode('utf-8')
##6.请取出最后2个字符。
print 'aaaa--------'
print dcontent[-2:].encode('utf-8')
print 'bbbb--------'
##7.请从字符串的最初开始,截断该字符串,使其长度为11.
print dcontent[:11].encode('utf-8')

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

rinfo = content.replace('2012','2013')
f = open('test1.py','w')
f.write(rinfo)
f.close()##关闭文件

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

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

引用机制有两点,一是引用的是ID,二是引用计数的概念
注意python中的引用计数是从3开始

import sys

cinfo = '1234'
print id(cinfo)
print sys.getrefcount('1234')

binfo = '1234'
print id(binfo)
print sys.getrefcount('1234')

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

##六.已知如下代码

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

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

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

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

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

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

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

e = a
print "e:%s" % id(e)

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

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

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

print 'result-----------------'
print sys.getrefcount('中文编程')
print sys.getrefcount('python编程')

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

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

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

c = a + b

##方法2:

c = "%s%s" % (a,b)

###方法3:
print 'format'
c = "{a}{b}" .format (a=a,b=b)

##方法4:

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

print c

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

c = '%s,%s' % (a,b)

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

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

#print help(string)
#注意:string模块与python内置的str类不同。此处为string模块,先import string,再help(string);str类直接在python中help(string)。

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

##2.所有小写字母
print string.lowercase

##3.所有标点符号
print string.punctuation

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

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

a = "i,am,a,boy,in,china"

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

ac = "i,am,a,%(sex)s,in,%(country)s"  % {'sex':'girl','country':'china'}
bc = "i,am,a,{sex},in,{country}" .format (sex='girl',country='india')
print ac
print bc

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

##方法1
print a[7:10]
print a[-5:]

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

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

print a.find('i')##若不存在则返回-1
print a.index('i')##若不存在则报错

##4.请找出"china"中的"i"字符在字符串a中的位置。
print a.find('i',a.find('china'))  #以china的起始点为起点,再查找i的位置
print a.rfind('i')

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

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

import sys
import string

f = open('test.log','w')
sys.stdout = f  #sys.stdout属性将标准的输出流绑定到文件的写入方法里。
help(string)    #这样就能将标准的输出流help(string)输出的字符串写入到文件里。不是特别懂,帮助也没看懂
f.close()

以下与上面内容相同

#coding=utf-8
#@description:周末作业#一.已经字符串 s = "i,am,lilei",请用两种办法取出之间的“am”字符。
print '第一题-----------------------------'#方法1
s = "i,am,lilei"
print s[2:4]
##方法2
c = s.split(',')[1]   #split方法返回的是一个列表
print cprint '第二题-----------------------------'#二.在python中,如何修改字符串?#答案:可以用字符串的replace方法.
ainfo = 'i love php'
replycontent = ainfo.replace('php','python')
print replycontentprint '第三题-----------------------------'#三.bool("2012" == 2012) 的结果是什么。##答案:结果是fasle,==判断对象的数据类型,尽管看起来数值是一样的,但是他们的类型不同,一个是字符串,一个是数字print '第四题-----------------------------'##四.已知一个文件 test.txt,内容如下:
2012来了。
2012不是世界末日。
2012欢乐多。##1.请输出内容
f = open('test.txt','r')
content = f.read()
dcontent = content.decode('utf-8')##转换为unicode
print content##2.请计算该文本的原始长度.
print len(dcontent)##3.请去除该文本的换行
print content.replace('\n','')##4.请替换其中的字符"2012"为"2013"。
print content.replace('2012','2013')##5.请取出最中间的长度为5的子串。
print dcontent[len(dcontent)/2:len(dcontent)/2+5].encode('utf-8')
##6.请取出最后2个字符。
print 'aaaa--------'
print dcontent[-2:].encode('utf-8')
print 'bbbb--------'
##7.请从字符串的最初开始,截断该字符串,使其长度为11.
print dcontent[:11].encode('utf-8')##8.请将{4}中的字符串保存为test1.py文本.rinfo = content.replace('2012','2013')
f = open('test1.py','w')
f.write(rinfo)
f.close()##关闭文件print '第五题-----------------------------'##五.请用代码的形式描述python的引用机制。引用机制有两点,一是引用的是ID,二是引用计数的概念
注意python中的引用计数是从3开始import syscinfo = '1234'
print id(cinfo)
print sys.getrefcount('1234')   binfo = '1234'
print id(binfo)
print sys.getrefcount('1234')print '第六题-----------------------------'##六.已知如下代码a = "中文编程"  ##引用计数开始是3,然后a变量引用了字符串对象3 + 1 =4
print "a:%s" % id(a)b = a
print "b:%s" % id(b)##4 + 1 = 5c = a
print "c:%s" % id(c)## 5 + 1 = 6print sys.getrefcount('中文编程')##输出结果是6
print 'ssss'
a = "python编程"
print "a:%s" % id(a)###6-1 = 5##a引用另外一个字符串对象b = u'%s' % a.decode('utf-8')
print "b:%s" % id(b)###5-1 = 4print sys.getrefcount('中文编程')##输出结果是4d = "中文编程"
print "d:%s" % id(d)###新建一个变量,引用字符串 4 + 1 = 5e = a
print "e:%s" % id(e)c = b
print "c:%s" % id(c)### c引用另外一个字符串对象,5 - 1 = 4print sys.getrefcount('中文编程')b2 = a.replace("中","中")
print "b2:%s" % id(b2)print 'result-----------------'
print sys.getrefcount('中文编程')
print sys.getrefcount('python编程')print '第七题-----------------------------'
##七.已知如下变量a = "字符串拼接1"
b = "字符串拼接2"
#
##请用四种以上的方式将a与b拼接成字符串c。并指出每一种方法的优劣##方法1:在做大量的字符串对象拼接的时候不推荐c = a + b##方法2:c = "%s%s" % (a,b)###方法3:
print 'format'
c = "{a}{b}" .format (a=a,b=b)##方法4:c = "".join([a,b])print c##请将a与b拼接成字符串c,并用逗号分隔。digitc = '%s,%s' % (a,b)##.请计算出新拼接出来的字符串长度,并取出其中的第七个字符。
lennum = len(c.decode('utf-8'))
print c.decode('utf-8')[6].encode('utf-8')print '第八题-----------------------------'
##八.请阅读string模块,并且,根据string模块的内置方法输出如下几题的答案
import string#print help(string)
#注意:string模块与python内置的str类不同。此处为string模块,先import string,再help(string);str类直接在python中help(string)。##1.包含0-9的数字。
print string.digits##2.所有小写字母
print string.lowercase##3.所有标点符号
print string.punctuation##4:所有大写字母和小写字母。
print string.ascii_lowercase##小写字母
print string.ascii_uppercase##大写字母
print '\n'
##5:请使用你认为最好的办法将{1}-{4}点中的字符串拼接成一个字符串。
strinfo = []
strinfo.append(string.digits)
strinfo.append(string.lowercase)
strinfo.append(string.punctuation)
strinfo.append(string.ascii_lowercase)
strinfo.append(string.ascii_uppercase)
print "".join(strinfo)
print '\n'
strinfo = "%s%s%s%s%s" % (string.digits,string.lowercase,string.punctuation,string.ascii_lowercase,string.ascii_uppercase)
print strinfoprint '第九题-----------------------------'
##九.已知字符串a = "i,am,a,boy,in,china"##1.假设boy和china是随时可能变换的,例boy可能改成girl或者gay,而china可能会改成别的国家,你会如何将上面的字符串,变为可配置的。ac = "i,am,a,%(sex)s,in,%(country)s"  % {'sex':'girl','country':'china'}
bc = "i,am,a,{sex},in,{country}" .format (sex='girl',country='india')
print ac
print bc##2.请使用2种办法取出其间的字符"boy"和"china"。##方法1
print a[7:10]
print a[-5:]##方法2
cinfo = a.split(',')
print cinfo[3]
print cinfo[-1]##3.请找出第一个"i"出现的位置。print a.find('i')##若不存在则返回-1
print a.index('i')##若不存在则报错##4.请找出"china"中的"i"字符在字符串a中的位置。
print a.find('i',a.find('china'))  #以china的起始点为起点,再查找i的位置
print a.rfind('i')##5.请计算该字符串一共有几个逗号
print a.count(',')print '第十题-----------------------------'
##十.请将模块string的帮助文档保存为一个文件。import sys
import stringf = open('test.log','w')
sys.stdout = f  #sys.stdout属性将标准的输出流绑定到文件的写入方法里。
help(string)    #这样就能将标准的输出流help(string)输出的字符串写入到文件里。不是特别懂,帮助也没看懂
f.close()

基础篇08-python基本数据类型习题解答相关推荐

  1. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...

    本文主要介绍了Python语言学习基础篇之Python发送Post请求之根据参数位置传参.数据类型.不同方式传参,通过具体的内容向大家展现,希望对大家Python语言的学习有所帮助. 目录 一.验证 ...

  2. python 有放回随机抽取_Python面试宝典之基础篇-08

    原标题:Python面试宝典之基础篇-08 题目36:如何使用random模块生成随机数.实现随机乱序和随机抽样? 点评:送人头的题目,因为Python标准库中的常用模块应该是Python开发者都比较 ...

  3. Java基础篇1——变量与数据类型

    Java基础篇1--变量与数据类型 1.标识符命名规则 标识符以由大小写字母.数字.下划线(_)和美元符号($)组成,但是不能以数字开头. 大小写敏感 不能与Java语言的关键字重名 不能和Java类 ...

  4. python dict下标_Python基础教程:python的数据类型

    python基础之五大标准数据类型 学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉 ...

  5. python爬虫ppt_完全零基础 轻松学Python:数据类型:数字类型、空类型、布尔类型...

    Tip:点击上方或此处 "#完全零基础 轻松学Python" 话题,查看更多内容,欢迎点赞.分享.收藏,谢谢支持! 内 容 概 要 1. 数据类型概述 数据类型的概念.常见的八种数 ...

  6. 【鱼C·零基础入门学习Python】课后习题答案 第14课

    鉴于半导体制造业进入了瓶颈,处于找不到工作的深深忧虑,故最近开始学习Python.发现鱼C工作室的<零基础入门学习python>教程很不错,视频讲解生动,最主要的是他的课后练习很不错.以下 ...

  7. c语言 字符串转运算符,快速上手系列-C语言之基础篇(二)数据类型与运算符...

    在上一篇文章<快速上手系列-C语言之基础篇(一)>中写了关于C语言的程序结构,关键字及控制语句.本篇主要写写C语言中数据类型,以及运算符相关方面的知识. 一.变量与常量 1.常量:在程序运 ...

  8. Python学习之旅 —— 基础篇(二)数据类型、运算、while循环

    本篇要点: 常量定义 数据类型(重点是字符串的各种操作.列表和字典) 各种运算 while 循环 一.常量定义 虽然叫做常量,但是python中的常量是可修改的.(c语言中的常量不可修改.)常量的定义 ...

  9. python基础知识面试题-基础篇--【python】面试题汇总

    1.尽可能多的列举PEP8规范有哪些? 不要在行尾加分号,也不要用分号将两条命令放在一行 每行不超过80个字符 不要使用反斜杠连接行 在注释中,如果有必要,将长的url放在一行 除非用于实现行连接,否 ...

最新文章

  1. C++友元函数和友元类(C++ friend)详解
  2. .net MySql
  3. plsql programming 18 包
  4. POSIX 消息队列相关问题
  5. 百度新闻后台逻辑流程分析
  6. {0,1,2.....Fmax} 每个数出现的次数
  7. zabbix agent监控主机配置
  8. 轨迹跟踪主要方法_带你入门多目标跟踪(一)领域概述
  9. 实用的摩斯编码(二)
  10. Python 多线程基本步骤
  11. 大学英语综合教程二 Unit 7 课文内容英译中 中英翻译
  12. C#利用NOPI导出到Excel
  13. 畅销书热榜html网页制作,黑色简洁形式pc+wap畅销书作者介绍网页模板代码
  14. linux下eclipse安装及快捷方式创建
  15. vue+element-ui文件导出模板及导入xlsx文件
  16. java包(java包和类)
  17. opencv 中函数的一相关说明,如:cvtColor和cvCvtColor区别
  18. 麒麟软件副总裁李震宁:中国开源社区是操作系统破局的土壤
  19. DWH和DB以及DATA Mart区别
  20. Mapper method ‘com.LH.mapper.EmployeeMapper.insertEmployee‘ has an unsupported return type: cla 报错

热门文章

  1. 文件加密打包和解密解包
  2. WEB项目开发的一般流程
  3. 俞敏洪力荐:“鬼才”英语记忆法,只需20分钟,轻松记完500单词
  4. linux shell sed i,Linux Shell学习-sed命令详解
  5. python加密方法
  6. KMer职场必修——知识体系架构设计及分类
  7. VS2010中文版下载地址及安装过程截图
  8. Happy Birthday to 亮
  9. selenium爬取QQ空间
  10. python opencv vscode 增加自动补全 auto completement