|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目如图,答案给的参考代码是这样
fi = open("论语.txt", "r")
fo = open("论语-原文.txt", "w")
flag=False
for line in fi:
if"【" in line:
flag=False
if "【原文】" in line:
flag=True
continue
if flag==True:
fo.write(line.lstrip())
fi.close()
fo.close()
我自己写的代码是这样
fi = open("论语.txt", "r")
fo = open("论语-原文.txt", "w")
flag=False
for line in fi:
if "【原文】" in line:
flag=True
continue
if flag==True:
fo.write(line.lstrip())
flag=False
fi.close()
fo.close()
我运行出来什么都没有,附件的TXT文本如下,希望大佬帮忙解惑,谢谢Thanks♪(・ω・)ノ
你运行没有任何信息,这个原因是你的flag=True这个赋值语句之后接了continue,所以跳过了for循环里后面所有的语句,所以fo.write就没有运行。这个就要把continue去掉
但是你写的这个代码如果光去掉continue,那么得到的结果应该是一行一行的【原文】。因为你 fo.write(line.lstrip())后面跟了flag=False。这个flag=False放的地方不对,也需要改。。。这就是为什么答案里有个判断 if"【" in line:
|
|