你确定这段代码运行结果是这样的?你用的哪个编译器?
代码看不出来问题。但输出文件,一般不要用 old,除非你确定输出文件已经存在了。否则就直接:
open(11,file='gambitdata.txt')
这样表示:如果文件存在,则覆盖。如果文件不存在,则新建该文件。
一般来说,输出文件是不存在的,即使存在,覆盖输出就可以了。
你写成 status = 'old' 就是说,强制要求输出文件存在,这在多数情况下的逻辑上,是不科学的。
而且这个问题不应该是你贴图里的,你贴图里的意思是:“文件已经存在”。这个提示,通常是在 status = 'new' 是出现的。它表示,如果文件存在,则提示错误。如果文件不存在,则新建该文件。