《Python核心编程》第二版第六章练习题答案-第三部分
6–10.字符串.写一个函数,返回一个跟输入字符串相似的字符串,要求字符串的大小写反转.
比如,输入"Mr.Ed",应该返回"mR.eD"作为输出.
解答:
#!/usr/bin/python #Filename:6-10.py ''' Created on 2012-7-25 @author: wanglei ''' def charreverse(str): slist=list(str) for i in range(0,len(slist)): if ord(slist[i]) in range(65,91): slist[i]=slist[i].lower() elif ord(slist[i]) in range(97,122): slist[i]=slist[i].upper() result="".join(slist) print result str=raw_input("input a string: ") charreverse(str)
测试数据:
input a string: Mr.Ed
mR.eD
6–12.字符串
(a)创建一个名字为findchr()的函数,函数声明如下:
def findchr(string, char)
findchr()要在字符串string 中查找字符char,找到就返回该值的索引,否则返回-1.不能用
string.*find()或者string.*index()函数和方法
(b)创建另一个叫rfindchr()的函数,查找字符char 最后一次出现的位置.它跟findchr()工作
类似,不过它是从字符串的最后开始向前查找的.
(c)创建第三个函数,名字叫subchr(),声明如下:
def subchr(string, origchar, newchar)
subchr()跟findchr()类似,不同的是,如果找到匹配的字符就用新的字符替换原先字符.返回
修改后的字符串.
#!/usr/bin/python #Filename:6-12.py ''' Created on 2012-7-27 @author: wanglei ''' def findchar(str,char): for index in range(0,len(str)): if str[index]==char: return index return -1 def rfindchar(str,char): for index in range(len(str)-1,-1,-1): if str[index]==char: return index return -1 def subchr(astring,origchar,newchar): returnstring="" for i in astring: if i==origchar: returnstring +=newchar else: returnstring +=i return returnstring #str=raw_input("input a string: ") #char=raw_input("input a char to search: ") #print rfindchar(str,char) astring=raw_input("input a string: ") origchar=raw_input("input the origchar: ") newchar=raw_input("input the newchar: ") print subchr(astring,origchar,newchar)
测试数据:
input a string: abcdfsdlkfjsdf
input the origchar: d
input the newchar: z
abczfszlkfjszf