파이썬 질문
글쓴이: 쩜육@Google / 작성시간: 토, 2017/04/08 - 3:52오후
AA = "Hello" AB = "Hihi" AC = "Syntax" AD = "World" def the_flying_circus(): # 여기서 부터 코딩을 시작하세요! if len(AA) == len(AD) and len(AA) >= len(AC): return True elif len(AA) * len(AD) >= len(AC) * len(AB): return True else: return False
이렇게 써서 실행했는데 자꾸 실행이 안되요.어디가 틀린거죠?
Forums:
python의 경우 indent가 매우 중요 합니다.
python의 경우 indent가 매우 중요 합니다. 일단 indent가 전혀 맞지를 않네요.
그리고, 최소한 실행 결과의 에러가 뭔지는 보여 주어야죠. 그래야 올리신 소스가 원본이랑 동일한지도 체크가 가능하겠죠.
일단 올려주신 결과로만 봐서는 2가지 정도의 에러를 유추할 수 있습니다.
1. 파일 문자셋 문제..
올려주신 코드만 가지고 실행을 한다면 분명히 다음의 에러를 만나게 될 것으로 예상 합니다.
python의 경우에는 multibyte 문자를 python file에 사용하기 위해서는 (그것이 코드이든 주석이든..) 문자셋 설정을 해 주어야 합니다. 이 경우는 아래와 같이 파일 제일 처음에 이 파일의 문자셋이 무었이다 선언해 주면 됩니다.
2. indent 문제..
문자셋 문제가 발생하지 않는다면, indent 문제가 발생할 겁니다. python의 경우에는 다른 언어들이 블럭을 {}을 이용하는 것과는 달리 indent를 사용합니다. 그런데, 위의 코드의 경우, the_flying_circus 함수에서 if문의 indent가 전혀 맞지를 않고 있습니다.
if문의 경우에는 indent가 space 4개로 시작하고 있는데, elif는 space 8개로 indent가 되어 있습니다. 그리고 else는 12개로 indent가 되어 있죠. 그래서 syntax 에러가 발생하게 되는 것입니다.
이렇게 indent를 맞춰 주시면 됩니다.
마지막으로, 코드를 제대로 올린 것이라면 제가 제시한 사항들을 fix하면 정상 동작할 것입니다만, 다른 에러가 발생 한다면, 질문을 제대로 하지 못했다는 의미입니다.
항상 제대로 된 답변을 얻으시려면, 질문을 제대로 해야 합니다. 즉 어떻게 만들었고, 그 결과가 이러하다라는 것을 정확하게 적어 주어야 합니다. 이 말씀을 드리고 싶어서 제가 위에 주절주절 답변 같이 적어 드렸습니다만, 대부분의 답변 하시는 분들이 이렇게 답변을 해 줄 거라고는 기대하지 마십시오. 저 역시 두번 이렇게 하지 않을테니까요.
요지는 좋은 답변을 듣고 싶다면, 좋은 질문을 할 수 있는 방법도 강구 하시라는 겁니다.
엌ㅋㅋㅋ
진짜 감사해요 해결되네요..ㅋㅋㅋㅋ 공백때문에 오류가 났던거네요 진짜 감사합니다
댓글 달기