29课课后作业第一题
请问各位大佬,比较两个文件不一样的程序可以用while循环写吗?我用while写了一段,但是报了变量错误,如果可以的话请问该怎么修改代码呢?
def compare(f1,f2):
file1 = open(f1)
file2 = open(f2)
count = 0
differ = []
while 1:
cuont += 1
if file1.readline != file2.readline:
differ.append(count)
file1.close
file2.close
return differ
f1 = input('请输入第一个文件名:')
f2 = input('请输入第二个文件名:')
differ = compare(f1,f2)
if len(differ) == 0:
print('文件一致')
else:
print('一共有%d处不一致' %len(differ))
for each in differ:
print('第%d行不一致' %each) 拼写错误..把while循环里的cuont改成count qiuyouzhi 发表于 2021-2-21 12:29
拼写错误..把while循环里的cuont改成count
对的,马虎了,但是改了之后还是不能按要求实现,运行后就只能打印第一行不一致,但实际是其他行不一致
小智1998 发表于 2021-2-21 12:56
对的,马虎了,但是改了之后还是不能按要求实现,运行后就只能打印第一行不一致,但实际是其他行不一致
...
这样试试
def compare(f1,f2):
file1 = open(f1)
file2 = open(f2)
count = 0
differ = []
while f.readline():
count += 1
if file1.readline != file2.readline:
differ.append(count)
file1.close()
file2.close()
return differ qiuyouzhi 发表于 2021-2-21 13:41
这样试试
en...请问这里的while f。readline是什么意思呢?f没有被定义,运行报错了
小智1998 发表于 2021-2-21 14:51
en...请问这里的while f。readline是什么意思呢?f没有被定义,运行报错了
额,是我的问题
改成这样:
def compare(f1,f2):
file1 = open(f1)
file2 = open(f2)
count = 0
differ = []
while (c1 := f.readline()) and (c2 := f.readline()):
count += 1
if c1 != c2:
differ.append(count)
file1.close()
file2.close()
return differ
qiuyouzhi 发表于 2021-2-21 15:08
额,是我的问题
改成这样:
第 6 行 c1 := f.readline() 是啥意思麻烦解释一下{:10_257:} Daniel_Zhang 发表于 2021-2-21 15:16
第 6 行 c1 := f.readline() 是啥意思麻烦解释一下
https://fishc.com.cn/thread-159745-1-1.html qiuyouzhi 发表于 2021-2-21 15:22
https://fishc.com.cn/thread-159745-1-1.html
太强了{:10_245:} qiuyouzhi 发表于 2021-2-21 15:08
额,是我的问题
改成这样:
好的,代码运行成功了,但是我不理解while里的思路,能麻烦说一下吗
页:
[1]