python期末练习5-6

5.编写函数,接收一段英文文本,该文本中有个单独的字母I误写为小写i,该函数将该字母改为大写字母I并返回结果字符串,要求不能改变其他字母的大小写。例如,函数接收‘i am a boy.‘,返回‘I am a boy.‘,接收‘a b,c i‘则返回‘a b,c I‘,接收‘a B i c‘则返回‘a B I c‘。

第一种 str.split转换成list, index找出首次出现的位置,join转换回str

texts = input("input one string:").split(" ")
try:
    while(True):
        index = texts.index("i")
        texts[index]="I"
except:
    text = " ".join(texts)
    print(text)

第二种 replace默认全部替换,但是如果str.replace(a,b,num)中num改变为1,就只会替换第一个(这道题有取巧的成分)

def rep(s):
    s = s.replace(‘i‘, ‘l‘, 1)
    print(s)
    
s= input(‘请输入文本‘)
rep(s)

6.已知当前文件夹中文件example.txt中有一段文本,其中包含英文字母、数字、汉字和标点符号。编写程序,读取该文件中的全部内容,把大写字母变为小写字母,小写字母变为大写字母,其他符号不变,把处理后的文本写入新文件result.txt中。

texts = input("input one string:").split(" ")
try:
    while(True):
        index = texts.index("i")
        texts[index]="I"
except:
    text = " ".join(texts)
    print(text)

相关推荐