HISIOISIH 发表于 2018-9-1 15:08:58

python 29课课后最后一题

#python29课最后一题课后的答案         输入想要被替换的词和 替换词实现全部替换功能            第七行里count的统计词语出现总次数 不懂 不是应该只统计一行里出现的次数么      

def file_replace(file_name, rep_word, new_word):       #文件名旧词 和 新词
    f_read = open(file_name)

    content = []                                                                                       #列表
    count = 0                                                                                           #初始化为0

    for eachline in f_read:
      if rep_word in eachline:                                                                     #如果旧词在句子里

            count = eachline.count(rep_word)                                                #这里count为什么可以统计词语出现的总次数????????
                     
            eachline = eachline.replace(rep_word, new_word)

      content.append(eachline)   

    decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:' % (file_name, count, rep_word, rep_word, new_word))#文件名 次数 旧词 旧词 新词

    if decide in ['YES', 'Yes', 'yes']:
      f_write = open(file_name, 'w')         #打开
      f_write.writelines(content)                #写入覆盖
      f_write.close()

    f_read.close()


file_name = input('请输入文件名:')

rep_word = input('请输入需要替换的单词或字符:')

new_word = input('请输入新的单词或字符:')

file_replace(file_name, rep_word, new_word)      #文件名旧词 新词

冬雪雪冬 发表于 2018-9-1 15:14:48

感觉应该是count += eachline.count(rep_word)

露转溪桥 发表于 2018-9-1 15:27:54

这里确实是 少写了一个 +号。。
楼主自己copy去跑一下就知道了。
页: [1]
查看完整版本: python 29课课后最后一题