《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

 

posted on 2012-07-25 17:16  温柔的暴力  阅读(656)  评论(0编辑  收藏  举报

导航