본문 바로가기

무한코딩/파이선

[날지 무한코딩] 파이썬(Python)으로 계산기 만들기

컴퓨터 언어를 배울때 가장 기본적으로 만드는 프로그램이 바로 계산기 프로그램입니다.


간단한 소스코드로 만들 수 있고 결과 값을 직접 눈으로 확인 할 수 있고 조건문과 반복문을 써야 하기 때문에 


간단한 기본 원리 이해에서는 이만한게 없다고 생각합니다.


우선 예제 소스를 먼저 보겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
print("="*30)
print("1.더하기\n2.빼기\n3.곱하기\n4.나누기\n5.나머지구하기\n6.나가기")
print("="*30)
 
while True:
    menu = int(input("원하는 계산기 기능을 입력하세요.  "))
    if(menu <= 5):
        numberA = int(input("첫번째 숫자를 입력하세요.  "))
        numberB = int(input("두번째 숫자를 입력하세요.  "))
        if(menu == 1):
            print("결과는 %d 입니다."%(numberA+numberB))
        elif(menu == 2):
            print("결과는 %d 입니다."%(numberA-numberB))
        elif(menu == 3):
            print("결과는 %d 입니다."%(numberA*numberB))
        elif(menu == 4):
            print("결과는 %d 입니다."%(numberA/numberB))
        elif(menu == 5):
            print("결과는 %d 입니다."%(numberA%numberB))
    elif(menu == 6):
        break
    else:
        print("잘못입력하셨습니다. 다시 입력해 주세요.")
 
cs


저는 무한루프를 이용해서 계산기를 만들어 봤습니다.


while반복문 조건을 True로 입력해 놓으면 while반복문은 항상 참이 되기 때문에 반복을 계속 하게 됩니다.

 

그리곤 앞서 입력 받은 menu 값을 받아 각 연산을 나타내 보았습니다.


그리고 무한루프를 빠져나가기 위해 menu에 6을 입력하면 무한루프를 빠져나가도록 break문을 넣었습니다.



다음 예제에서는 위의 계산기를 함수를 써서 표현한 것을 보여드리겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def sum(a,b):
    return a+b
 
def sub(a,b):
    return a-b
 
def mul(a,b):
    return a*b
 
def div(a,b):
    return a/b
 
def rem(a,b):
    return a%b
 
print("="*30)
print("1.더하기\n2.빼기\n3.곱하기\n4.나누기\n5.나머지구하기\n6.나가기")
print("="*30)
 
while True:
    menu = int(input("원하는 계산기 기능을 입력하세요.  "))
    if(menu <= 5):
        numberA = int(input("첫번째 숫자를 입력하세요.  "))
        numberB = int(input("두번째 숫자를 입력하세요.  "))
        if(menu == 1):
            result = sum(numberA, numberB)
            print("결과는 %d 입니다."%result)
        elif(menu == 2):
            result = sub(numberA, numberB)
            print("결과는 %d 입니다."%result)
        elif(menu == 3):
            result = mul(numberA, numberB)
            print("결과는 %d 입니다."%result)
        elif(menu == 4):
            result = div(numberA, numberB)
            print("결과는 %d 입니다."%result)
        elif(menu == 5):
            result = rem(numberA, numberB)
            print("결과는 %d 입니다."%result)
    elif(menu == 6):
        break
    else:
        print("잘못입력하셨습니다. 다시 입력해 주세요.")
 
cs


맨 위에 보시면 def를 이용하여 각 함수를 줬습니다.


계산기와 같이 간단한 연산이 들어가는 프로그램은 함수를 이용하는것이 번거로울 수 있으나,


계산기가 아닌 좀 더 규모가 큰 프로그램을 만들때에는 함수를 사용해야 소스코드의 가독성이 좋아지고 중복 코드를 막음으로써 좀 더 질 좋은 코드가 될 수 있습니다.


다음은 실행화면입니다.



생각보다 많이 간단해서 당황했습니다. 


다른 언어보다 파이썬이 훨씬 코드가 간결하다는걸 이번 계산기 만들기를 통해 알 수 있었습니다.