一个函数使用xyz,然后在另一个函数中调用这些变量。函数距离应该从readast中获取每个xyz,然后每个行使用square,sum和square root。例如500 600 700(每个数字平方,将它们全部加起来,然后平方和)它将取得该结果并在行结束后显示它。然而,我的距离数字只是我的readas函数中的最后一行数字......任何想法为什么?在for循环中创建相同数字的随机数生成器Python
def readast():
astlist=open('asteroids.txt','w')
letter=65
for line in range(15):
x=random.randint(1,1000)
y=random.randint(1,1000)
z=random.randint(1,1000)
astlist.write(('\n')+chr(letter)+('\t')+(str(x))+('\t')+(str(y))+('\t')+(str(z)))
letter=letter+1
return astlist,x,y,z
astlist.close()
def distance(astlist,x,y,z):
distlist=open('distance.txt','w')
letter=65
for line in range(15):
x1=x**2
y1=y**2
z1=z**2
equation=math.sqrt(x1+y1+z1)
distlist.write(('\n')+chr(letter)+('\t')+(str(x))+('\t')+(str(y))+('\t')+(str(z)+('\t')+(str(equation))))
letter=letter+1
return distlist
distlist.close()
一个函数被称为“读”,但这两个函数都不读任何东西。函数中的'return'之后的代码将不会运行。你明确地在'readast()'的'return'行中返回一组'x,y,z'值。 – 2014-11-23 04:49:16