鱼C论坛

 找回密码
 立即注册
查看: 2086|回复: 3

[已解决]29课课后题

[复制链接]
发表于 2020-2-27 16:41:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
    对于29课的最后一题,需替换掉某个字为另一个,这段代码我认为会导致逐行选择yes,并逐行输出,而且count只会显示一行中需替换的个数(主要是对for循环),求大神解答
  def ChengeAll(file_name, Old_name,New_name):
    f = open(file_name)
    count = 0
    cotent = []

    for each_line in f:
        if Old_name in f:
             count = each_line.count(Old_name)
             each_line = each_line.replace(Old_name,New_name)

        cotent.append(each_line)

    decide = input('\n 文件%s 中共有 %s个【%s】\n 确定要把【%s】全部替换成 【%s】么?yes 或no' % file_name, count, Old_name, Old_name,New_name)
    if decide == 'yes':
        f_write = open(file_name, 'w')
        f_write.writelines(cotent)
        f_write.close()

    f.close()

file_name = input('请输入文件名')
Old_name = input('请输入需要替换的单词或字符')
New_name = input('请输入新的单词或字符')
ChengeAll(file_name, Old_name,New_name)
最佳答案
2020-2-27 17:30:27
gt9696 发表于 2020-2-27 17:19
但是这个for循环是针对每一行的吖,他在下一行的时候不会进行覆盖嘛

不会的,内容是添加进列表里的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-27 16:43:34 | 显示全部楼层
for循环就是遍历文件的内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-27 17:19:38 | 显示全部楼层
qiuyouzhi 发表于 2020-2-27 16:43
for循环就是遍历文件的内容

但是这个for循环是针对每一行的吖,他在下一行的时候不会进行覆盖嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 17:30:27 | 显示全部楼层    本楼为最佳答案   
gt9696 发表于 2020-2-27 17:19
但是这个for循环是针对每一行的吖,他在下一行的时候不会进行覆盖嘛

不会的,内容是添加进列表里的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 04:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表