지금까지 우리는 개발에 필요한 기초 개념에 대해서 공부했습니다.
그러니 이번 포스팅 부터는 조건문과 반복문을 학습하면서 본격적인 프로그래밍에 대해서 공부해봅시다!!
코딩을 조금이라도 접해보시 분이라면, 이 조건문과 반복문이 얼마나 중요하고 반복적으로 사용 되는지 알 것이라고 생각합니다.
조건문: IF ~ elif ~ else 구문
If 이 뜻은 만약에~~라는 뜻으로 이 구문도 만약에 조건이 뭐뭐라면 ~~ 형식에 구문입니다.
간단한 예시로
만약에 여러분 나이가 20이상이면 성인, 10 이상 20 이하는 청소년, 10이하는 어린이라는 조건을 주고 입력값에 따른 출력값을 출력해 봅시다.
위 코드를 실행 해보시면 조건문에 대해서 조금더 이해가 되실 겁니다. 저번 포스팅때 비교연산자를 배웠으니 부등호는 아시겠지만, 추가 내용을 안 적었더라고요;;
비교연산자는 정수형과 실수형에서 사용되기 때문에 입력받는 형을 변환시켜 주셔야 합니다.
조건문에서 거짓을 나타내는 표현은 다음과 같습니다.
- 숫자형 : 0은 거짓, 그외의 숫자는 참
- 문자열 : 빈문자열
- 리스트, 딕셔너리, 튜플, 셋(Set) : 값이 비어있는 경우 [], {}, (), set()
- None
- False
if 다음에 이상한 단어가 있죠 else도 아니고 if도 아니고 elif?
elif는 이제 if값은 아니지만, else값을 넣기에는 조건이 더 있는 값을 정의할때 사용합니다.
Elif문
- if~else문 같은경우 두가지의 경우에만 사용할 수 있지만, elif를 넣으면 더 만은 경우를 상정할 수 있다.
- elif문은 필요한 만큼 계속 작성해도 된다
- if와 elif의 조건식중 참인부분의 코드가 실행된다.
- if에 참이면 실행되고 false이면서 elif참이면 elif가 실행되며, 둘다 아닐경우 else가 출력된다.
- else는 선택사항이다.
그럼 실습을 해봅시다.
여러분들의 점수를 입력 받아 A~F 학점을 출력해 보세요
- A - 90점이상
- B - 80점 이상 90점 미만
- C - 70점 이상 80점 미만
- D - 60점 이상 70점 미만
- F - 60점 미만
'
'
'
'
해답
자 어때여 여기까지 어려우신 내용이 없죠 ㅎㅎ
우리는 몇일만에 학점 출력 프로그램을 만들어 본것입니다. 근데 우리가 평소에 보는 프로그램이라고 하면 엄청 복잡하고 더욱 광활하죠? 그 이유는 이러한 조건문과 앞으로 배울 반복문 함수들을 복합적으로 쓰이기 때문입니다. 그러니 그런 바다를 보는 것도 좋으나 지금 처럼 바다로 가기 전에 강줄기도 볼줄 알야 합니다.
그럼 이제 상류에서 드디어 출발 했습니다. 그러니 조금더 물살을 키워 볼까요?
if문안에 if문을 쓸수 있을까요? 없을까요?
'
'
없습....장난이고 있습니다!! 😎😎
보통 우리가 가정을 한다고 하실때 무슨 상황일때 너가 이러면 나는 이럴 것이다. 이렇게 말하잖아요.
여기서 무슨 상황이 첫번째 조건, 너가 이러면이 두번째 조건, 나는 이럴 것이다.가 출력입니다. 어때요 if가 2번 들어갔죠?
이것이 중첩 조건문 이라고 합니다.
그럼 이제 우리 또 실습을 해보아야 겠죠?
결제 방법 \ 나이 | 8세 미만 | 14세 미만 | 20세 미만 | 75세 미만 | 75세 이상 |
카드 | 무료 | 450원 | 720원 | 1200원 | 무료 |
현금 | 1000원 | 1300원 |
'
'
'
'
해답(정답은 여러가지 입니다. 결과만 같으면 그것도 해답일 수 있습니다.)
어때요? 처음으로 10줄이상 넘어가는 코드를 작성해보니 뭔가 뿌듯하고 와 이게 되네 하지 않나요? 이게 바로 코딩입니다.
우리 조금더 힘내서 더욱 멋지고 재밌는 코딩 앞으로 같이 많이 만들어 봅시다.
이제 다음으로 위처럼 조건이 많은 경우 어쩔수 없지 줄이 많아지겠지만 이번 포스팅 처음 실습문 처럼 짧은 조건문을 작성하는데 5중 이상 쓰는거 귀찮지 않습니까?
저희는 이것을 삼항연산자로 한줄에 정리 할 것입니다.
삼항 연산자란?
- 조건문을 한줄로 줄여서 쓰는 방법
- 간단한 조건을 처리할때 주로 사용함
참일 때 값 if 조건 else 거짓일 때 값
다음 조건을 삼항연산자로 줄여봅시다.
나이가 20이상이면 "성인입니다", 19미만이면 "미성년자 입니다"
'
'
뭔가 코드가 갑자기 확 줄어들었습니다. 앞으로 몇몇 긴 코드들은 이와 같이 삼항연산자로 축약 할 수있습니다. 하지만 줄별로 나뉠때 보다 가시성이 떨어지다 보니 처음 사용하기에는 어려움이 있습니다. 그러니 늘 말하지만
복 ★ 습
이 필요하겠죠 :D
추가로 조건을 설정했는데 출력을 어떻게 해야 될지 모르겠다 싶으시면 pass를 입력하여 코드에 오류없이 작성 한 후에 나중에 값을 입력하여도 됩니다.
지금까지는 정수형에 대한 조건문만 알아 보았습니다.
끝나기 전에 문자열과 list형 하나씩은 해야 균형이 맞겠죠?
그러니 이건 과제 입니다.ㅎㅎㅎㅎㅎㅎㅎㅎ
실습(힌트: in연산자 활용하세요)
- 과일을 칼로리를 담는 딕셔너리생성
- 예 (apple:95, banana:105, cherry:50, strawberry:58, grape:3)
- 사용자로 부터 과일을 입력받아 해당 과일의 칼로리 출력
- 존재하지 않는 과일이라면 포함되지 않았다는 메시지 출력
'
'
'
'
해답
'python 시작하기' 카테고리의 다른 글
Python Def 함수선언 (2) | 2024.11.29 |
---|---|
Python 조건문과 반복문 (2) (2) | 2024.11.28 |
Python 다양한 자료형에 대해서 알아보자(2) (0) | 2024.11.26 |
Python 다양한 자료형에 대해서 알아보자 (0) | 2024.11.25 |
Python 기초문법(+추가 문자열 이스케이프문) (1) | 2024.11.24 |