8.5 심사문제 관련해서 입니다.
심사 항목에 입력하면 정답이라고 나오지만 실제 쉘에서 돌려보면 아래의 에러가 발생합니다.
SyntaxError: invalid syntax
동일한 형태의 연습문제도 입력 값 그대로를 넣었을 때 오류가 떳습니다.
버전이 달라서 인가요? 이유가 뭔지 궁금합니다.
버전과는 상관이 없습니다. 기본 문법이니까요.
아래 스크린샷을 보면 문의한 분과 같은 Python 3.7.2입니다.
문의한 코드와 같은 코드를 실습했을 때 결과가 잘 나오는 것을 볼 수 있습니다.
윈도우 환경에서 파이썬을 설치해서 실습해보면 잘 될 겁니다.
macOS 환경은 없어서 테스트가 가능하지 않습니다. 그러나 아마 다시 실습해보면 잘 될 겁니다.
문의한 스크린샷이 조금 이상해보입니다. 만일 Syntax Error: invalid syntax가 발생하면 파이썬은 보통 문법 오류가 발생한 위치를 표시해줍니다. 그러한 위치가 표시되지 않으면서 Syntax Error: invalid syntax가 표시되는 경우는 해당 코드 앞에 있는 코드에서 오류가 발생한 경우이거나 해당 코드의 뒤에 어떤 문자가 더 붙어서 위치를 확인하지 못하는 경우입니다.
스크린샷으로 정확한 오류는 알 수 없으나 심사문제를 통과했다면 문제 없는 코드입니다.
print 함수의 ) 끝에 뭔가가 붙어 있었을 수도 있습니다.
온라인 파이썬 실행기인 https://glot.io/python에서 실습해도 잘 됩니다.
map, input, split을 사용한 다른 예제는 잘 된다면 일단 무시해도 될 것 같습니다.
macOS에서 print만으로 SyntaxError가 발생한다면 내부적으로 파이썬3가 아니라 파이썬2가 실행되는 경우일 수도 있다고 합니다.
다음 두 명령(볼드 표시)으로 파이썬 버전을 확인해보는 것도 방법이라고 합니다.
>>> import sys
>>> print(sys.version)
3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)]
>>>
macOS는 파이썬 2.7이 기본으로 설치되어 있습니다. 만약 파이썬을 맥에서 처음 실습해본 것이라면
print 'hello'
가 실행되는지 확인해보세요. 이게 실행된다면 파이썬 2입니다.
파이썬 3는
print('hello')
로 씁니다.
macOS에서 파이썬2와 파이썬3의 충돌은 흔한 문제라고 합니다.
다음은 2018.10.9일자로 작성된 파이썬 개발 환경 구축 방법입니다.