컴퓨터 언어를 배울때 가장 기본적으로 만드는 프로그램이 바로 계산기 프로그램입니다.
간단한 소스코드로 만들 수 있고 결과 값을 직접 눈으로 확인 할 수 있고 조건문과 반복문을 써야 하기 때문에
간단한 기본 원리 이해에서는 이만한게 없다고 생각합니다.
우선 예제 소스를 먼저 보겠습니다.
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를 이용하여 각 함수를 줬습니다.
계산기와 같이 간단한 연산이 들어가는 프로그램은 함수를 이용하는것이 번거로울 수 있으나,
계산기가 아닌 좀 더 규모가 큰 프로그램을 만들때에는 함수를 사용해야 소스코드의 가독성이 좋아지고 중복 코드를 막음으로써 좀 더 질 좋은 코드가 될 수 있습니다.
다음은 실행화면입니다.
생각보다 많이 간단해서 당황했습니다.
다른 언어보다 파이썬이 훨씬 코드가 간결하다는걸 이번 계산기 만들기를 통해 알 수 있었습니다.
'무한코딩 > 파이선' 카테고리의 다른 글
Python에서 GUI 화면 출력시키는 방법 및 PyQt 설치방법 (0) | 2018.05.17 |
---|---|
python 이중 for문 빠져나가기 (break) (2) | 2017.12.05 |
python anaconda(파이썬 아나콘다) 설치 방법 (0) | 2017.12.01 |
python anaconda(파이선 아나콘다) 삭제 방법! (2) | 2017.09.08 |
Konlpy Runtime error(런타임 에러) 해결법 (1) | 2017.09.05 |
[날지 무한코딩] 파이썬을 이용한 섭씨 화씨 변환 (3) | 2017.04.04 |
[날지 무한코딩] 파이선 설치 (0) | 2017.01.25 |