2010-06-06 2 views
24

통상의 방법은파이썬에서 변수에 연산자를 할당 하시겠습니까? 변수 수학 도포

a * b 

는 계산이 같은 두 개의 피연산자를 조작 할 수 있습니까?

a = input('enter a value') 
b = input('enter a value') 
op = raw_input('enter a operand') 

그럼 내가 어떻게 영업 이익과 두 개의 변수를 연결 ab합니까?
내가 지정하고 계산 한 후 +, -, %, $에 영업 이익을 비교 할 수 있습니다 알고 ....

하지만 a op b과 같은 작업을 수행 할 수 있습니다, 어떻게 영업 이익은 운영자입니다 컴파일러에게?

답변

37

당신은 운영자 모듈과 사전을 사용할 수 있습니다

import operator 
ops = {"+": operator.add, 
     "-": operator.sub, 
     "*": operator.mul, 
     "/": operator.div} 
op_char = raw_input('enter a operand') 
op_func = ops[op_char] 
result = op_func(a, b) 
+0

예이 모듈은 훌륭합니다. 감사합니다 ...... –

+0

python 3.x의 경우 https : // docs 대신'operator.truediv' 또는'operator.floordiv'를 사용해야합니다. python.org/3/library/operator.html –

6

모듈 http://docs.python.org/library/operator.html이 기능은 거의 모든 파이썬 사업자에 해당 노출 운영자. 연산자 심볼을 해당 함수에 매핑하여 적절한 함수를 검색 한 다음이를 op 변수에 할당하고 op (a, b)를 계산할 수 있습니다.

1

사용자 입력 문자열을 피연산자 목록과 직접 비교해야합니다. 연산자는 언어가 아닌 값의 키워드이기 때문에 int()의 유사어는 없습니다.

입력 문자열을 피연산자 목록과 비교하고 해당 피연산자가 해당 연산자와 일치하면 Python 표준 라이브러리의 operator module을 사용하여 두 피연산자에 연산자를 적용한 결과를 계산할 수 있습니다.

관련 문제