초보자를 위한 Python 연습
Simple Calculator in Python
Pick an operator, apply it to two numbers and handle division by zero, using a dictionary of small lambda functions.
배울 내용
- Mapping operators to functions
- Branching on the chosen operation
- Handling division by zero
calculate(12, "*", 4)
"+"a + b"-"a - b"*"12 * 4 = 48"/"a / b, if b != 0The operator chooses the function
간단한 계산기는 입력한 기호가 +, -, *, / 중 무엇인지에 따라 알맞은 연산을 골라야 합니다. if 문을 여러 개 쓰는 대신, 각 기호를 해당 계산 함수와 연결한 딕셔너리를 쓸 수 있습니다.
핵심 포인트
- A dict such as {
"+": lambda a, b: a + b} maps each symbol to a function. operations[operator](left, right)looks up the function and calls it.- Check for an unknown operator and for b
==0 before dividing.
언제 사용하나요?
- 짧고 이해하기 쉬운 예제로 Python 문법과 기본 개념을 익힙니다.
- 더 복잡한 문제로 넘어가기 전에 탄탄한 기초를 다집니다.
- 컴퓨터에 Python을 설치하지 않고 브라우저에서 바로 코드를 실행합니다.
예제 코드
main.py
operations = {
"+": lambda left, right: left + right,
"-": lambda left, right: left - right,
"*": lambda left, right: left * right,
"/": lambda left, right: left / right,
}
left, operator, right = 12, "*", 4
# Select and call the function associated with the operator.
print(f"{left} {operator} {right} = {operations[operator](left, right)}")
실행 결과
12 * 4 = 48
코드 설명
딕셔너리 operations는 각 연산을 매개변수가 두 개인 lambda 함수로 저장합니다. 식 operations[operator]는 기호 "*"에 연결된 함수를 꺼내고, (left, right)가 그 함수를 숫자 12와 4로 호출합니다. 새 연산을 추가하려면 딕셔너리에 키-값 쌍 하나만 더하면 됩니다.
값을 변경하고 Python 설치 없이 CodeUtility 온라인 Python 컴파일러에서 실행하세요.
연습 문제
아래 제안을 따라 코드를 바꿔 보세요. 코드를 직접 고치고 결과를 확인하면 읽기만 할 때보다 레슨을 훨씬 잘 이해할 수 있습니다.
- 입력 데이터를 바꾸고 실행하기 전에 결과를 예상해 보세요.
- 비어 있거나 잘못된 데이터를 확인하는 코드를 추가해 보세요.
- 처리 부분을 별도의 함수로 분리하고 여러 데이터로 테스트해 보세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지