checkiO하다가 첫번째부터 막히네요

조회수 616회

조건문 내에 if을 지정해줬는데

local variable 'aa' referenced before assignment

라고 뜨면서 error 가 나옵니다.

혹시 참일때만 aa="T"라고 지정해주고 거짓일때는 지정을 안해줘서 오류가 나는건가요?

조건문 여러개 쓰고 마지막에

if aa=="T":

이런 조건문을 붙이기는 했거든요?

---------------------------------------------------------------2019/2/22 수정----------------------------------------------------------------------

def second_index(text: str, symbol: str) -> [int, None]:

   """
        returns the second index of a symbol in a given text
    """

    if symbol in text:
        x = text.find(symbol)
        if x == 0:
            text = text[1:]
        else:
            text = text[0:x]+text[x+1:]

        if symbol in text:
            y = text.find(symbol)+1
        else : y = none 

    return y

요래 했는데 UnboundLocalError: local variable 'y' referenced before assignment, second_index, 16 라는 오류가 뜨네요

1 답변

  • pyfiddle에서 3.6에 맞춰 놓고 돌려 봤는데 재현이 안되네요. 그래서 질문하신 것 자체에 대해서는 답을 못 드리겠고... 그나저나 주석을 보니 "주어진 텍스트 내 특정 심볼의 인덱스 바로 다음 인덱스를 돌려주라"는군요. 그렇다면...

    def second_index(text: str, symbol: str) -> [int, None]:
        return text.find(symbol) + 1 or None
    

    그냥 이렇게 간단하게 생각하면 안 되는 부분인가요??

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)