ZCYDHHX 发表于 2018-2-5 17:42:16

第29讲,第四题

def count(file_name, change_name, original_name):

    f1 = open(file_name)
    txt = list(f1.read())
    count1 = txt.count(original_name)
    f1.close()
    return count1

def change(file_name, change_name,original_name):

    f1 = open(file_name,'w')
    txt = list(f1,read())
    txt = txt.replace(original_name, change_name)
    f1 = f1.write(txt)
    f1.close()
    return f1

file_name = input('请输入要文件名:')
original_name = input('请输入需要替换的单词或字符')
change_name = input('请输入新的单词或字符:')

number = count(file_name, change_name, original_name)

print('文件%s中共有%d个%s'%(file_name,number,original_name))

print('您确定要把所有的%s替换为%s么?'% (original_name, change_name))

choice = input('【yes/no】:')
if choice == 'yes':
    change(file_name, change_name,original_name)

为什么我的count函数没法求出个数呢?

BngThea 发表于 2018-2-5 19:17:22

你用read后的每一个字符串并不一定恰好就是你查找的对象,有可能包含了你要找的字符串,但还有其他,所以此时count函数自然无法准确计数了
页: [1]
查看完整版本: 第29讲,第四题