하나의 기능으로 텍스트 파일을 만들었습니다. 학교 프로젝트의 경우 해당 텍스트 파일을 가져와 같은 텍스트를 다른 텍스트 파일 인 "거리"에 넣은 다음 이전 텍스트 파일의 각 행 끝에 "방정식"변수를 추가해야합니다. 그러나, 나는 첫 번째 함수에서 x, y, z 변수를 취할 수있는 방법을 고집하고 전역 변수를 사용하지 않고 두 번째 함수에서 사용합니다. 도움! 당신이 main
에서 readast
를 호출 할 때 반환 값 잡고, 다음파이썬에서 한 함수의 지역 변수를 다른 함수의 지역 변수를 사용합니까?
def distance(x, y, z):
을 : 당신은 함수 서명을 수정할 수 있습니다 경우
def readast():
astlist=[]
outFileA=open('asteroids.txt','w')
letter=65
size_of_array=15
astlist=[]*size_of_array
for i in range(0,size_of_array):
x=random.randint(1,1000)
y=random.randint(1,1000)
z=random.randint(1,1000)
outFileA.write ('\n'+chr(letter) + '\t' +(str(x)) + '\t' + (str(y)) +'\t' +(str(z)))
letter= letter+ 1
return x,y,z
outFileA.close()
def distance():
outFileA=open('asteroids.txt','r')
outFileD=open('distance.txt','w')
x= (x**2)
y= (y**2) #these three variables I need to pull from readast
z= (z**2)
equation=math.sqrt(x+y+z)
for row in range(len(outfileA)):
x,y,z=outFileA[row]
outFileD.append(equation)
outFileD.close()
당신은 당신의 자신의'거리를 할 필요가 없다()'계산 :
간소화 ... 다음 두 번째 함수에 매개 변수로 전달, 주요 기능은 무엇인가에 튜플을 할당했는지 확인 , 그냥 ['math.hypot()'] (https://docs.python.org/2/library/math.html?highlight=hypot#math.hypot) 함수를 사용하십시오. – martineau
'distance' 함수는 언제 사용됩니까? 그것은'readast'에서 호출됩니까? – sleeparrow
@Adamantite에서 main 함수에서 'distance'함수가 호출됩니다.이 함수는 여기에 표시되지 않습니다. 교수님은 각 함수가 단 한 가지만 수행해야한다고 말합니다. 그렇지 않으면 append를 'readast'와 동일한 함수에 넣을 것입니다. distance 함수는 asteroids.txt와 같은 값을 가진 distance.txt라는 새로운 텍스트 파일을 만든 다음 distance.txt에 더 많은 값을 추가하면 유용합니다. – Jackie