我是 python 的初学者,但想从遇到的问题中学习。
在工作脚本的末尾,我有这段代码(见下文),它在.txt
文件中输出一系列值:
name, bcoords[i]*AT
.
该操作重复 4 次,counting > 3
直到true
会发生什么(伪代码):
open('solution_AT.txt','a')
output.write(str(target[0]))
output.write('\n')
counting = 0
output.write(name0,bccords0*AT)
counting = 1
output.write(name1,bccords1*AT)
counting = 2
output.write(name2,bccords2*AT)
counting = 3
output.write(name3,bccords3*AT)
counting = 4
(counting > 3)
是true
output.write('\n')
counting = 0
而不是这个,我想暂时保留这些值:
bcoords0*AT
, bcoords1*AT
, bcoords2*AT
,bcoords3*AT
因为我想对它们执行一些变量相互依赖的数学运算。
即,我想做的是这个(伪代码):
首先,对变量进行数学运算 bcoords
a = bcoords0*AT / (1-bcoords3*AT-bcoords2*AT-bcoords1*AT)
b = bcoords1*AT / (1-bcoords3*AT-bcoords2*AT)
c = bcoords2*AT / (1-bcoords3*AT)
d = bcoords3*AT
其次,以与下面的代码相同的顺序编写值,但使用: a
, b
, c
,d
而不是bcoords0*AT
, bcoords1*AT
, bcoords2*AT
,bcoords3*AT
open('solution_AT.txt','a')
output.write(str(target[0]))
output.write('\n')
output.write(name0,a)
output.write(name1,b)
output.write(name2,c)
output.write(name3,d)
output.write('\n')
此输出的一行将具有以下结构:
target[0], name0, a, name1, b, name2, c, name3, d \n
而且...我不知道该怎么做,非常感谢任何帮助!最好的
代码:
output = open('solution_AT.txt','a')
if tet_i == None:
output.write(str(target[0]))
output.write('\n')
else:
names = [colors[i][0] for i in tg.tets[tet_i]]
sorted_indices = sorted(enumerate(names), key=lambda (i, name): priority_list[name])
output.write(target[0])
counting = 0
for i, name in sorted(enumerate(names), key=lambda (i, name): priority_list[name]):
output.write(',%s,%s' % (name, bcoords[i]*AT))
counting = counting + 1
if counting > 3:
output.write('\n')
counting = 0
输出.close()