我不太确定如何将输出打印到文件中。
示例输入
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
我如何能够像样本输出一样将它们分成每一行?
答案 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')