2016-06-15 3 views
0

광산의 경우 아주 기본적인 계산기를 만들어야합니다. 나는 사용자가 원하는 것을 입력 할 수있는 방법으로 코드를 작성하고자한다. (예 .64) return 키를 눌러 대답을 얻는다. 내가 쓴 :√ 터미널에서 √을 인식하지 못했습니다.

경우 작동에 '√' 하는 squareRoot = operation.replace ('√', '') squareRootFinal = math.sqrt (INT (하는 squareRoot))

나는이 실행 유령, 그것은 매력처럼 작동합니다. 그러나 터미널에서 실행하면 다음과 같은 오류 메시지가 나타납니다.

구문 오류 : 50 행의 x.py 파일에서 '\ xe2'비 ASCII 문자이지만 인코딩이 선언되지 않았습니다.

제안 사항?

+1

중복 된 http://stackoverflow.com/questions/728891/correct-way-to-define-python-source-code-encoding? –

답변

0

인코딩을 선언하기 만하면됩니다. 파이썬은 여기서주의 깊게 시작하고 텍스트 파일의 인코딩을 추측하지 않습니다. IDLE은 텍스트 편집기이므로 이미 인코딩을 추측하고 내부적으로 유니 코드로 저장하여 파이썬 인터프리터에 직접 전달할 수 있습니다.

는 파일의 상단에

#!/usr/bin/env python3 
# -*- coding: UTF-8 -*- 

를 넣습니다. (요즘 엔 인코딩이 UTF-8이 아닌 것은 거의 없습니다.)

참고로, 과거의 파일에는 다양한 인코딩이 가능했습니다. 즉, 동일한 텍스트를 디스크에 기록 할 때 바이너리 방식으로 다른 방식으로 저장할 수 있습니다. 거의 모든 인코딩은 ASCII 하위 집합 인 바이트 0에서 127까지의 동일한 해석을가집니다. 그러나 파일에 다른 바이트가 있으면 그 의미가 모호 할 수 있습니다.

그러나 최근에는 UTF-8이 가장 일반적인 인코딩이되어 거의 항상 안전한 것으로 간주됩니다.

+0

당신은 그것을 찍었습니다! 대단히 감사합니다. – Zardoz

관련 문제