6.1-string模块中是否有一种字符串方法或者函数可以帮我鉴定下一个字符串是否是另一个大字符串的一部分?
string模块的find内建函数,string.find(str,beg=0,end=len(str)),在beg和end之间查找str字符串。

string模块中index内建函数,string.index(str,beg=0,end=len(str)),类似于find()函数,不过查找不存在会返回一个异常。

index和find函数的相同之处在于,包含要寻找的字符串时,均返回索引,区别在于,找不到要寻找的字符串时,index函数返回一个异常,find函数返回-1.
6.2字符串标识符。修改例6.1的idcheck.py脚本,使之可以检测长度为一的标识符,并且可以识别python关键字。对后一个要求,可以使用keyword模块(特别是keyword.kelist)来辅助。

```bash
import string
import keyword
alphas = string.ascii_letters + '_'
nums = string.digits
alphasnums = alphas + nums
words = keyword.kwlist
#alphas包含所有的26字母大小写和下划线,nums包含0-9的数字,alphasnums包含标识符合法的内容print('Welcome to the Identifier Checker v1.0')
print('Testees must be at least 2 chars long.')
myInput = input('Identifier to tese')
#用户输入一个标识符if len(myInput) == 1:#当标识符长度为1时,判断其是否是字母或者下划线if myInput in alphas:print('okay as an identifier')else:print('''invalid: first symbol must be alphabetic''')
elif len(myInput) > 1:# 当标识符长度大于1时,先判断标识符是否属于关键字,然后再判断首字符是否正确,再判断剩余的字符是否正确。if myInput in words:print('It is a keyword!')else:if myInput[0] not in alphas:print('''invalid: first symbol must be alphabetic''')else:for otherChar in myInput[1:]:if otherChar not in alphasnums:print('''invalid: remaining symbols must be alphanumeric''')breakprint('okay as an identifier')#以上条件都不满足,那就打印这是一个标识符

6.3排序(a)输入一串数字,并从大到小排序。
(b)跟a一样,不过要用字典序从大到小排列
```

num = input('your number')
num1 = []
num2 = []
for i in num:num1.append(int(i))#num1内存储的是数字大小num2.append(i)#num2内存储的是字符
num1.sort()
num1.reverse()
num2.sort()
num2.reverse()
print(num1)
print(num2)

6.4

number = input('your number list')
numbers = []
numbers.append(number)
sum = 0
for i in numbers:sum += int(i)
punjun = sum / len(numbers)
print(punjun)
``

6.5字符串。
(a)更新2.7方案,使得可以每次都正序反序显示一个字符串的字符。

wode = input('please input something')
l = len(wode)
x = 0
while x <= l-1:print(wode[x])x += 1
for i in wode:print(i)
for i in wode[::-1]:print(i)

(b)通过扫描来判断2个字符串是否匹配。

num1 = input('please input your number1')
num2 = input('please input your number2')
for i in range(len(num1)):if num1[i] == num2[i]:print('pipei')else:print('bupipei')

(c)判断一个字符串是否重现(后面跟前面的一致).附加题:在处理除了严格的回文之外,加入对例如控制符号和空格的支持。

list = [1,1,2,3,6,74]
for i in list:if list.count(i) > 1:print(str(i)+'出现多次')else:print(str(i)+'没有重复出现')

6.6字符串。创建一个string.strip()的替代函数:接受一个字符串,去掉它前后的空格

def stringqu():x = 0num1 = input('''please input a number\n''')y = int(len(num1))z = yfor i in range(y):#从头开始历遍字符串并且计数,遇到第一个不是空格的字符后返回if num1[i] == " ":x += 1else:breakfor j in range(y):# 从尾开始历遍字符串并且计数,遇到第一个不是空格的字符后返回if num1[-j] == " ":z -= 1else:breakright_str = num1[x:z]print(right_str)
stringqu()

6.7调试。(c)修正b中的问题

num_str = input('Enter a number:')
num_num = int(num_str)
#把输入的数转换成整形数
fac_list = list(range(1,num_num+1))
#创建一个从1到num_num的列表
print('BEFORE: '+'fac_list')
fac_list1 = []
i=0
while i < len(fac_list):if num_num % fac_list[i] == 0:#当数能够整除i时,将i存储到另一个列表中fac_list1.append(fac_list[i])i += 1
for j in fac_list1:fac_list.remove(j)#历遍可以整除数的列表,将这些数从初始列表中一一删除print(fac_list)

6.8列表。给出一个整型数,返回代表该值的英文,比如输入‘89’返回“eight-nine“附加题:返回”eighty—nine“限定范围在0~1000.
思路:创建4个列表,分别对应1-9的个十百千位的英文写法,然后根据整型数的长度来取值。

6.9转换。为练习5-13写一个姊妹函数,接受分钟数,返回小时数和分钟数。总时间不变,并且要求小时数尽可能大。

def time():time1 = int(input('please input time number'))if time1 < 60:#当输入的时间小于60时,返回原值,否则返回相应的小时+分钟数print('0'+str(time1))else:(i,j) = divmod(time1,60)print(str(i)+":"+str(j))
time()

6.10字符串。写一个函数,返回一个跟输入字符串相似的字符串,要求字符串的大小写反转。比如,输入”As“,返回”aS“。

def fanzhuan():xiaoxie = 'qwertyuiopasdfghjklzxcvbnm'daxie = 'QWERTYUIOPASDFGHJKLZXCVBNM'str1 = input('please input your string')x = len(str1)str2 = []str3 = ""for i in range(x):#对输入字符串中的字符进行反转小大写操作,并且把转换完成的字符存储到另一个列表中if str1[i] in xiaoxie:str2.append(str1[i].upper())elif str1[i] in daxie:str2.append(str1[i].lower())else:str2.append(str1[i])#如果输入的不是字母,那就直接存储for j in str2:#将转换完的字符进行相加整合成一个新的字符串str3 += str(j)print(str3)fanzhuan()

6.11转换。
(a)创建一个从整型数到IP地址的转换程序。如下格式:WWW.XXX.YYY.ZZZ
(b)更新你的程序,使之可以逆转换。

暂时没懂什么意思,以后来解答

6.12字符串。


```bash
def findchr(string,char):x = 0for i in range(len(string)):#历遍字符串,如果字符等于所寻字符,那边把索引打印出来if string[i] == char:print(i)x += 1if x == 0:print('-1')
string = 'dasdsdf'
char = 's'
findchr(string,char)def rfindchr(string,char):x = 0for i in range(len(string)):# 反向历遍字符串,如果字符等于所寻字符,那边把第一个索引打印出来if string[-i] == char:print(len(string)-i)x = 1breakif x == 0:print('-1')string = 'dasdsdf'
char = 's'
rfindchr(string,char)def subchr(string,origchar,newchar):x = 0list = []str = stringfor i in range(len(string)):#先把字符串中需要寻找的字符的索引添加到一个列表中if string[i] == origchar:list.append(i)x += 1if x == 0:print('-1')for j in list:#再将这个列表历遍,把新字符替换进去,由于字符串是不可更改类型,因此需要切片操作str = str[:j] + newchar + str[j+1:]print(str)
string = 'dasdsdf'
origchar = 's'
newchar = 'a'
subchr(string,origchar,newchar)

6.13字符串string模块包含三个函数,atoi()、atol()、和atof(),他们分别负责把字符串转换成整形、长整形和浮点型数字。从Python1.5起,Python的内建函数int()、long()、float()也可以做同样的事情了,complex()函数可以把字符串转换成复数(然而1.5之前这些函数只能工作于数字之上)。string模块并没有实现一个atoc()函数,那么你来实现一个atoc(),接受单个字符串做参数输入,一个表示复数的字符串,例如‘-1.23+4-5.6j’,返回相应的复数对象。你不能用eval()函数,但可以用complex()函数,而且你只能在如下的限制下使用:complex():complex(real,imag)的real和imag都必须是浮点值。
有点没看懂,以后有时间来解答

6.14
6.15
6.16
复习完线性代数来看
6.17
6.18
6.19

python核心编程第二版第六章答案相关推荐

  1. python语言程序设计基础第二版第七章答案-Python核心编程第二版 第七章课后答案...

    注:我使用的python3.5. 其中range和xrange,input和raw_input已经合并 7-1.字典方法.哪个字典方法可以用来把两个字典合并到一起. dict.update(dict2 ...

  2. 核心编程第二版第六章习题

    6–1. 字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串 是否是另一个大字符串的一部分? 成员关系操作符in obj in seq 6–3. 排序 (a) 输入一串 ...

  3. Python核心编程第二版 第十三章课后答案

    13-1.程序设计.请列举一些面对对象编程与传统旧的程序设计形式相比的先进之处. 没什么只有OO能做到,OO更多的是给了你一种能力,一种忽略细节的能力:忽略的越多,人类有限的智力就可以容纳越多越复杂的 ...

  4. Python核心编程第二版第五章数字(课后习题)----我的答案

    5-1.整型.讲讲Python普通整型和长整型的区别. 标准整型类型是最通用最基本的数字类型等价于C语言的长整型,一般以十进制表示. 长整型则是标准整型类型的超集,当需要用到比标准整型类型更大的整型时 ...

  5. python核心教程第二版答案_python核心编程第二版第4章习题答案.docx

    python核心编程第二版第4章习题答案.docx 4-1.Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下. 答案: 所有的 Python 对象都拥有三个特性:身 ...

  6. 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录

    目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...

  7. python核心编程第二版pdf_Python Book电子书pdf版合集 Python核心高级编程第二版

    1小时学会Python.doc 51CTO下载-[Python系列].BeginningPythonFromNovicetoProfessionalSecondEdition.pdf 8.Python ...

  8. python语言程序设计基础第二版第六章答案-Python语言程序设计基础(第2版) 课后题 第六章...

    课后题是配套的参考答案 #e10.1CalHamlet.py def getText(): txt = open("hamlet.txt", "r").read ...

  9. python核心编程第二版第一章学习笔记

    一.名字来源 贵铎·范·罗萨姆(Guido van Rossum)于1989 年底始创了Python,那时,他还在荷兰的CWI(Centrum voor Wiskunde en Informatica ...

  10. 《python核心编程第二版》第5章习题

    5-1 整形 讲讲 Python 普通整型和长整型的区别 答:普通整型 32位,长整数类型能表达的 数值仅仅与你的机器支持的(虚拟)内存大小有关 5-2 运算符 (a) 写一个函数,计算并返回两个数的 ...

最新文章

  1. C异常处理实现: setjmp和longjmp
  2. Cpp 11 / 线程库 / 可以做为线程的执行对象有哪些?
  3. Centos7 - mysql 5.5.62 tar.gz 方式安装
  4. 作者:​张群(1988-),女,博士,中国电子技术标准化研究院设备与数据研究室副主任。...
  5. notion自建服务器,最详细的NOTION功能模块列表
  6. java中值滤波_Java实现图像中值滤波
  7. 初步认识lodash.js
  8. 指针与指针指向的内容(四)
  9. 金立S6:因“耀”开启金属手机2.0时代
  10. GCC、VS对C++标准的支持情况总结(转载)
  11. 大学计算机基础知识课本,大学计算机基础 教材简介
  12. 大数据的应用领域有哪些
  13. [转载]郭云深先生解说形意拳经--九要论
  14. pythonurllib爬虫教学_Python学习教程:这里是Python爬虫的起点,抢占资源啦
  15. 网站前台静态页面html模板
  16. CodeMirror 格式化内容和内容选择CodeMirror 官方文档
  17. python数组取2的倍数列,3的倍数列
  18. pcap、libnet编译使用、注意事项
  19. 修改 WTK 中仿真器的尺寸
  20. linux内核驱动 debian,zh_CN/NvidiaGraphicsDrivers - Debian Wiki

热门文章

  1. 【零基础Eviews实例】01异方差的检验与修正
  2. win7使用命令行改计算机名,Win7巧用注册表更改计算机名的实用方法
  3. vac虚拟声卡我linux,下载_Virtual Audio Cable(虚拟声卡) V4.65 完美免费版_6z6z下载站
  4. php图书管理系统外文文献,JSP图书管理系统论文+源码+英文文献翻译+参考文献 第10页...
  5. CnPack开发包基础库
  6. html链接基本语法,链接(link)基本语法
  7. python knn预测双色球_用KNN和回归分析进行预测(python)
  8. 软件破解技术之API替换
  9. Structs2-基础
  10. 节奏大师闪退android,安卓节奏大师进不去的原因以及详细解决办法