python3 궁금한게 있습니다.

익명 사용자의 이미지

안녕하세요
학생입니다 파이썬을 공부하는 중인데

import random
dna="GGCATTGGCTC"
def mutate(n):
ldna=list(dna)
i=random.randrange(len(ldna))
ldna[i]=random.choice(list('ATCG'))
return "".join(ldna)
print(dna)
print(mutate(dna))

----------------------------------------

dna="GGCATTGGCTC"
def mutates (dna,n):
for i in range (n):
dna = mutates(dna)
return dna
print(mutates(dna,5))

위에 코드에서 랜덤으로 dna 를 바꿔주고 아래 코드에서 지정하는 만큼 포룹을
돌리려고 하는데 맥시멈 리컬션 에러가 떠서요..
제가 실수한 부분이 어딘지 알려주실수분이 계신가 글을 적어봅니다.

세벌의 이미지

파이썬은 들여쓰기가 중요합니다.
들여쓰기 제대로 보이게 하려면
https://kldp.org/node/158191
참고해서 쓰세요.

익명 사용자의 이미지

import random
 
def mutate( n ):
    ldna = list( dna )
    i = random.randrange( len( ldna ) )
    ldna[i] = random.choice( list( 'ATCG' ) )
    return "".join( ldna )
 
def mutates( dna, n ):
    for i in range ( n ):
        dna = mutate( dna )
    return dna
 
dna="GGCATTGGCTC"
print( dna )
print( mutates( dna, 5 ) )

파이썬은 거의 모르지만 흐름상 이런 의도가 아니었을까 짐작해 봅니다.

mutates(dna, n) 에서 호출하고 있는 mutates(dna)는 mutate(dna)의 오타로 보입니다.