sturgeons 发表于 2020-6-26 16:38:23

求助帖

请问,第二十九讲比较两个文件的那道题,遍历f2文件每一行的操作,我不用f2.readline,而是跟遍历f1一样,也用for循环,结果程序就出了问题,请问是什么原因?

那部分代码是这样的:
for each1 in f1:
    for each2 in f2:
      count+=1
      if each1!=each2:
            list1.append(count)

SHRS23 发表于 2020-6-26 17:18:07

出了什么问题?

Twilight6 发表于 2020-6-26 17:22:36

本帖最后由 Twilight6 于 2020-6-26 17:24 编辑

甲鱼哥的代码:
for line1 in f1:
    line2 = f2.readline()
    count += 1
    if line1 != line2:
      differ.append(count)
你的代码:
for each1 in f1:
    for each2 in f2:
      count+=1
      if each1!=each2:
            list1.append(count)

甲鱼哥每次 for 循环只会 readline()一行,而你的外部 for 循环执行一次 就要等内部的 for 循环全部执行完

也就是第一次循环你就把文件全部读取了,完全不符合题意呀,我们要一行一行拿来比较,而不是一行和另一个文件的多行进行比较

Ps:下次建议发完整题目,大大提高别人的回答概率噢~

sturgeons 发表于 2020-6-26 20:39:17

Twilight6 发表于 2020-6-26 17:22
甲鱼哥的代码:

你的代码:


谢谢,请问能不能看看我另一个最新帖子的问题,跟这个类似的
页: [1]
查看完整版本: 求助帖