各位大佬帮帮忙
def differ(file1,file2):list1 = []
list2 = []
#把文件中的每行字符变成列表格式
for each_line1 in file1:
list1.append(each_line1)
for each_line2 in file2:
list2.append(each_line2)
print(len(each_line1))
print(each_line1)
a = 0
while True:
if len(each_line1) >= a: #第a行小于等于列表所包含元素个数
if each_line1 == each_line2: #如果file1第a行等于file2第a行
continue
else: #否则打印第a行不一样
print('第',a,'行不一样')
a += 1
else: #否则退出循环
break
f1 = input("请输入需要比较的头一个文件名:")
f2 = input("请输入需要比较的另一个文件名:")
file1 = open(f1)
file2 = open(f2)
differ(file1,file2)
主要是第九行,第十行打印出来的结果与预想偏差,而且while里面的循环为什么不执行?
{:9_220:} 哪里有偏差?
你预想中是什么样的? 而且,eachfile1是for循环的局部变量
在外面用是没有定义的啊 #coding:gbk
def differ(file1 , file2):
f1 , f2 = open(file1) , open(file2)
list1 , list2 = list(f1) , list(f2)
f1 . close()
f2 . close()
m1 , m2 = min((len(list1) , len(list2))) , max((len(list1) , len(list2)))
c = 0
for k in range(m1) :
if list1 != list2 :
print('第' , k + 1 , '行不同')
c += 1
if not c : print('两个文件完全相同!')
file1 , file2 = input("请输入需要比较的头一个文件名:") . strip() , input("请输入需要比较的另一个文件名:") . strip()
differ(file1 , file2) 昨非 发表于 2020-11-4 22:27
哪里有偏差?
你预想中是什么样的?
def differ(file1,file2):
list1 = []
list2 = []
#把文件中的每行字符变成列表格式
for each_line1 in file1:
list1.append(each_line1)
for each_line2 in file2:
list2.append(each_line2)
a = 0
while True:
if len(list1) >= a: #第a行小于等于列表所包含元素个数
if list1 == list2: #如果file1第a行等于file2第a行
continue
else: #否则打印第a行不一样
print('第',a,'行不一样')
a += 1
else: #否则退出循环
break
f1 = input("请输入需要比较的头一个文件名:")
f2 = input("请输入需要比较的另一个文件名:")
file1 = open(f1)
file2 = open(f2)
differ(file1,file2)
我把while里面的each_line改了,我的问题是while里面的程序为什么不循环?麻烦您啦
{:9_228:} DoubleS、Zhao 发表于 2020-11-5 11:41
我把while里面的each_line改了,我的问题是while里面的程序为什么不循环?麻烦您啦
def differ(file1,file2):
list1 = []
list2 = []
#把文件中的每行字符变成列表格式
for each_line1 in file1:
list1.append(each_line1)
for each_line2 in file2:
list2.append(each_line2)
a = 0
print(len(list1))
while True:
if len(list1) > a: #第a行小于列表所包含元素个数 这里不能带等号,会越界
if list1 == list2: #如果file1第a行等于file2第a行
a += 1 #这里加上a+=1 不然会死循环
continue
else: #否则打印第a行不一样
print('第',a,'行不一样')
a += 1
else: #否则退出循环
break
f1 = input("请输入需要比较的头一个文件名:")
f2 = input("请输入需要比较的另一个文件名:")
file1 = open(f1)
file2 = open(f2)
differ(file1,file2) 改一下第12行和第14行就好了,
满意的话记得给个最佳答案哈
页:
[1]