함수 정의할때 변수 자리에 임의의 i번째 리스트 성분을 대입할 수 없나요???
조회수 476회
import random
M = 1500
N = 500
xrand = np.zeros(M)
test_list = []
for i in range(len(xrand)):
xrand[i] = random.uniform(a,b)
def sampling(x[i],x[i+1]): # 재귀함수 형태로 샘플링 추출과정 설계
if xrand[i+1] / xrand[i] > random.random():
test_list.append(xrand[i+1])
return sampling(xrand[i+1],xrand[i+2])
else:
return sampling(xrand[i],xrand[i+2])
n = len(test_list)
I = 0
for i in range(n):
I += g(test_list[i])/n
print(I)
위와 같이 코드를 작성했습니다만... 오류로 다음과 같이 나옵니다.(주피터 노트북 기준)
File "", line 14 def sampling(xrand[i],xrand[i+1]): ^ SyntaxError: invalid syntax
이 사이트에서 우측상단의 코드 실행기로 같은코드를 다시 실행해봐도 비슷한 오류가 다음과같이 나오네요.
File "/solution.py", line 16 def sampling(xrand[i],xrand[i+1]): ^ SyntaxError: invalid syntax def sampling(xrand[i],xrand[i+1]): ^ SyntaxError: invalid syntax
위 코드를 보시면 아시겠지만, 샘플링 과정의 연산을 재귀함수 형태로 만든 겁니다. 그런데 함수 정의할때 웬지 모르게 리스트의 i번째 성분을 변수로 받아들이지 못하는 것 같아요. 이걸 처리할 수 있는 방법이 있을까요?
댓글 입력