콘텐츠로 건너뛰기
Home » study

study

괄호를 처리할 수 있는 사칙연산 계산기 (Python)

파이썬으로 간단한 사칙연산 계산기를 만들어보자. 실질적으로는 간단한 계산을 명령줄에서 수행할 수 있는 계산기가 필요해서 (계산기 앱을 실행하는게 귀찮…) 만들어보기로 했다.

실질적으로 간단한 덧셈, 나눗셈이 아니라, 다항식을 계산하고, 괄호가 들어있는 수식을 계산하는 기능이 필요했다. 따라서입력 자체는 명령줄 인자로 받으며, 가능한 한 ‘관대하게’ 처리하고자 했다.

이를 위해서는 입력받은 식을 공백이나 연산기호를 구분점으로 파싱하고, 후위식으로 변환한 후 이 후위식을 하나의 항으로 계산한 다음, 그 결과를 출력해주면 된다. 이들 각각의 과정을 함수로 만들고 최종적으로 하나의 코드로 조립해나간다.

더 보기 »괄호를 처리할 수 있는 사칙연산 계산기 (Python)

20110621 :: NSString 사용하기

NSString에서 알아두어야할 몇가지 메소드들을 정리해본다. 문자열 생성 포맷에 맞게 문자열을 생성하기 +stringWithFormat: 메소드를 사용한다. NSString *newStr = [NSString stringWithFormat:@"%@ : %d", someObj.name, someObj.score]; -initWithFormat:의 경우 같은 동작을 하지만, 이 때는 수동으로 alloc하므로 릴리즈의 책임을 져야 한다. C문자열로부터 생성 initWithUTF8String:, stringWithUTF8String: 을 통해서 const char* 데이터를 NSString 객체로 바꿀 수 있다. 1 다른 인코딩을 된 문자열이라면 initWithCString:encoding:, stringWithCString:encoding:을 사용할 수 있다. 바이너리 데이터로부터 생성 NSData(파일을 읽어들였거나, 네트워크 스트림으로부터 받은)객체로도 이를 만들 수 있다. initWithData:encoding:을 쓴다. 특히 파일의 경우, stringWithContentsOfFile:encoding:error:및 stringWithContentsOfURL:encoding:error:를 쓸… 더 보기 »20110621 :: NSString 사용하기

20110621 :: Objective-C의 문자열 포맷팅

Formatting Specifier 전체 내용을 정리한 것은 아니지만 참고 삼아. %@ : 종류에 무관하게 Objective-C 객체를 의미한다. 대부분 descriptionWithLocale이나 description 이 출력된다. NSString을 포맷팅할 때 사용한다. %% : “%” 문자 %d, %D, %i : singed-32bit 정수 %u, %U : Unsigend-32bit 정수 %hi : signed-16bit 정수 %ui : unsigned-16bit 정수 %qi : signed-64bit 정수 %qu : unsigned-64bit 정수 %x : signed-32bit 정수를 16진수로 표기함 %X : unsigned-32bit 정수를 16진수로 표기함 %qx : signed-64bit 정수를 16진수로 표기함 %qX : unsigned-64bit 정수를 16진수로 표기함… 더 보기 »20110621 :: Objective-C의 문자열 포맷팅