鱼C论坛

 找回密码
 立即注册
查看: 1324|回复: 6

[已解决]求指点! 我这样写的 两个文件的 比较方法 行得通吗?

[复制链接]
发表于 2017-11-22 14:01:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 cupbbboom 于 2017-11-22 14:03 编辑
def compare_file(file_one,file_two):
    f_1 = open(file_one)
    f_2 = open(file_two)
    count = 0
    dif_line = 0
    # 从f_1和f_2中提行
    for each_one in f_1:
        for each_two in f_2:
            # 开始比较
            if each_one ==each_two:
                count += 1
            else:
                count += 1
                dif_line += 1
                
                print('第%d行不一样'% count)
    print('两个文件共有【%d】处不同:'% dif_line)           
    f_1.close()
    f_2.close()

first_file = input('请输入需要比较的的头文件:')      
second_file = input('请输入需要比较的另一个文件名:')

compare_file(first_file,second_file)
            
最佳答案
2017-11-22 14:06:54
不行,因为用循环嵌套会把一行和另一个文件的所有行进行比较,和原意不符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-22 14:06:54 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
不行,因为用循环嵌套会把一行和另一个文件的所有行进行比较,和原意不符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-22 14:46:38 | 显示全部楼层
你好 应该是不行的问题在嵌套循环那里
这就好比你有2个序列
a = [1, 2, 3]
b = [1, ‘one’,2,‘two’,3, ‘three’]
for x in a:
    for y in b:
        比较
相当于
a = 1时 与 b 分别 = 1, ‘one’,2,‘two’,3, ‘three’ 进行比较
a = 2时 与 b 分别 = 1, ‘one’,2,‘two’,3, ‘three’ 进行比较
a = 3时 与 b 分别 = 1, ‘one’,2,‘two’,3, ‘three’ 进行比较
你会发现 你的答案会是 a = b
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-22 15:06:25 | 显示全部楼层
BngThea 发表于 2017-11-22 14:06
不行,因为用循环嵌套会把一行和另一个文件的所有行进行比较,和原意不符

对哦, 就会变成一行与另个文件的所有比较
   懂了  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-22 15:07:56 | 显示全部楼层
第9行可以尝试改成
each_two = f_2.readline()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-22 15:09:20 | 显示全部楼层
yjsx86 发表于 2017-11-22 14:46
你好 应该是不行的问题在嵌套循环那里
这就好比你有2个序列
a = [1, 2, 3]

谢谢,我晓得错误在哪儿了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-22 15:18:03 | 显示全部楼层
第四时空 发表于 2017-11-22 15:07
第9行可以尝试改成

强 !! 我刚还在想怎么改呢,你一眼就看出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 17:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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