【发布时间】:2021-11-06 12:40:26
【问题描述】:
我写了以下代码,当我打印输出时它是正确的
7.21: (1,2)->(5,8)
5.39: (5,8)->(10,10)
24.08: (10,10)->(34,12)
但是当我尝试写入文件时,我无法弄清楚如何获得相同的结果。 我想像打印功能一样使用填充逐行打印
但是我从文件中得到了这个,都在一行中 7.21: (1,2)->(5,8) 5.39: (5,8)->(10,10) 24.08: (10,10)->(34,12)
from math import sqrt
f = open('output.txt', 'w')
cord_list=[]
for i in range(len(my_coord)):
for j in range(len(my_coord[i])):
cord_list.append(my_coord[i][j])
a=0
b=1
c=0
d=1
for x in range (0,3):
my_res=((cord_list[a]-cord_list[a+2])**2)+((cord_list[b]-cord_list[b+2])**2)
a=a+2
b=b+2
my_res=sqrt(my_res)
my_res=round(my_res, 2)
print (f'{my_res: >10}: ({cord_list[c]},{cord_list[d]})->({cord_list[c+2]},{cord_list[c+3]}) ')
string=(f'{my_res: >10}: ({cord_list[c]},{cord_list[d]})->({cord_list[c+2]},{cord_list[c+3]})')
f.writelines(string)
c=c+2
d=d+2
f.close()
【问题讨论】:
-
向“打印”添加关键字参数“file=f”以写入“f”而不是标准输出。
标签: python writetofile