问题的简短回答是,从readast ()返回x、y和z组,然后在distance ) )中重复这些相同的值,而不更改15次。 在
您似乎对文件和列表有点困惑(请参阅)。 我在这里都做过。 open ()调用在文件系统中打开文件,并将文本写入其中。 您以这种方式实例化的列表:几种-list=[]或其他-list=[ 1,2,3 ]或其他方式。 写入文件时,文件中的当前位置移动到末尾。 seek ) )将当前位置还原为文件,但列表更好,除非有数百万个。 如果不需要这些文件,可以使用此处的列表注释掉引用它们的行,以便在函数之间进行通信。 我希望这能为你指明正确的方向。 祝你好运。 在导入random中
导入匹配
efwrite_ast(:
asteroids=open(asteroids.txt )、' w ' () ) ) ) ) ) ) ) )。
ast_list=[]
letter='A '
forlineinrange(15 ) :
x=random.randint(1,1000 ) )。
y=random.randint(1,1000 ) )。
z=random.randint(1,1000 ) )。
(asteroids.write (“% st % st % sn”% (letter,x,y,z ) ) ) ) ) ) ) ) )
AST_list.append((letter,x,y,z ) )
(Letter=chr(ord(Letter )1) ) ) ) ) ) ) ) ) )
return ast_list
defwrite_distance(ast_list ) :
distance=open('distance.txt ',' w ' ) )
dist_list=[]
for letter,x,y,z in ast_list:
x1=x**2
y1=y**2
z1=z**2
distance _ from _ origin=math.sqrt (x1y1z1) ) ) ) ) ) ) ) )。
distance.write (' % st % st % st % sn ' % ) letter,x,y,z,distance_from_origin )
dist_list.append((letter,x,y,z,distance_from_origin ) )
return dist_list
ast_list=write_ast (
wite_distance(ast_list ) )