如何将我的每个输出打印到文件中

时间:2013-10-24 05:07:05

标签: python

我不太确定如何将输出打印到文件中。

示例输入

0
2
1
3
5

样本输入的dragon.dat内容

S
SLSLSRS
SLS
SLSLSRSLSLSRSRS
SLSLSRSLSLSRSRSLSLSLSRSRSLSRSRSLSLSLSRSLSLSRSRSRSLSLSRSRSLSRSRS

这是我的代码:

infile = open("dragon.dat", "w")
def B(n):
    if n>22:
        return "Enter integer less than 22"

    elif n==0:
        return "S"
    str=B(n-1)
    reversestr=str
    str +="L"
    reversestr=reversestr.replace("L","T")
    reversestr=reversestr.replace("R","L").replace("T","R")
    reversestr=reversestr[::-1]
    return str + reversestr

print(B(0))    # these input will be printed in the python shell
print(B(2))
print(B(1))
print(B(3))
print(B(5))

infile.write(B(0))
infile.write(B(2))
infile.write(B(1))
infile.write(B(3))
infile.write(B(5))


infile.close()

我在文件中的输出:

SSLSLSRSSLSSLSLSRSLSLSRSRSSLSLSRSLSLSRSRSLSLSLSRSRSLSRSRSLSLSLSRSLSLSRSRSRSLSLSRSRSLSRSRS

我如何能够像样本输出一样将它们分成每一行?

3 个答案:

答案 0 :(得分:1)

写作时你错过了\n。请改用infile.write(B(i) + '\n')

答案 1 :(得分:0)

infile.write("\n".join([B(i) for i in range(6)])

答案 2 :(得分:0)

使用print:print(B(1), file=infile)

print(*[B(i) for i in [0,2,1,3,5]], file=infile, sep='\n')