本帖最后由 Amazon 于 2017-10-25 23:19 编辑
楼主你的代码里,一个循环读了两行。
- while 1:
- if f1.readline() != '' and f2.readline() != '':
- if f1.readline() != f2.readline():
- print('第%d行不一样' % i)
- sum += 1
- i += 1
复制代码
①按照你的代码,第一个循环:
if f1第一行 != '' and f2第一行 != '':
if f1第二行 != f2第二行:
print('第%d行不一样' % i) #{实际你的两个文件前两行是相同的,这里不会 print}
sum += 1 #{实际你的两个文件前两行是相同的,这里 sum 不会加 1}
i += 1 {i 加 1 变为 2 }
②按照你的代码,第二个循环:
if f1第三行 != '' and f2第三行 != '':
if f1第四行 != f2第四行:
print('第%d行不一样' % i) #{实际你的两个文件第 4 行是不同的,这里会 print“第2行不一样”,因为上一个循环结束后 i 为 2 }
sum += 1 #{实际你的两个文件第 4 行是不同的,这里 sum 会加 1,变为 1}
i += 1 {i 加 1 变为 3 }
③按照你的代码,第三个循环:
if f1第五行 != '' and f2第五行 != '':
if f1第六行 != f2第六行: #{实际你的两个文件只有五行,到这里循环就结束了}
没有第四个循环了。
所以,最终结果是,sum = 1
运行程序结果是:
第2行不一样
两个文件共有【1】处不同