[python][파이썬 조건문(if-elif-else)]

2.2 조건문(if-elif-else)

지금까지 저와 함께 파이썬을 알아가면서 어떤 생각이 드셨나요? 너무 쉽다는 분도 계실테고, 이런 것들 배워서 어디에 써먹는 건지 궁금한 분도 계실 것 같네요.

이 강의는 프로그래밍을 전혀 모르는 분을 위해 최대한 쉽게 쓰려고했기 때문에 다른 언어를 접해보신 분에게는 지루할 것 같네요. 그런 분이라면 아마 여기까지 읽기 전에 다른 사이트를 찾아가셨겠죠?

또, 파이썬을 배워서 어디에 써먹느냐고 하신다면… 프로그램 만드는 데 쓰지요. 웹사이트를 구축하는데도 씁니다. 지금 배우는 것과 같은 하찮은 것들이 모여서 엄청난 프로그램도 만들어 내는 것이지요. 조그만 레고 블록들이 모여서 큰 모형을 이루는 것과 같습니다. 차근차근 공부해가다보면 점점 더 복잡한 프로그램을 만드실 수 있을 거예요.

그럼 또 새로운 것을 배워 볼까요? 이번엔 if 문입니다. If는 '만약 …이면'이라는 뜻이지요? 파이썬에서도 같은 의미로 사용됩니다.

"달면 삼키고 쓰면 뱉는다."는 속담이 있지요. 그것을 파이썬에서는 쓰는 것과 비슷하게 써보겠습니다.

만약 달다면:
    삼킨다.
그렇지 않으면:
    뱉는다.

이번엔 영어를 조금 섞어서 써볼까요?

if 달다면:
    삼킨다.
else:
    뱉는다.

위에 든 예들은 설명을 위해서 써 본거구요, 그대로 작성하면 파이썬이 이해를 못합니다.

파이썬의 if와 else

그럼 이번엔 실습을 해보겠습니다. 아래의 두 수 a와 b 중에 어느 쪽이 더 클까요?

>>> a = 1234 * 4
>>> b = 13456 / 2

if 문을 사용해서 a가 크면 'a'를 출력하고 b가 크면 'b'를 출력하도록 프로그램을 작성해 볼까요? 한번 따라서 쳐보세요.

>>> if a > b:                     # 만약 a가 b보다 크면
...     print('a')                # 'a'를 출력한다.
... else:                         # 그렇지 않으면
...     print('b')                # 'b'를 출력한다.
... 

# 이후에 있는 것들은 주석(설명)이므로 입력하지 않아도 됩니다. a > b 라고 쓴 것은 'a가 b보다 큰가?'를 나타냅니다. 어렵지 않죠?

elif

조건을 여러 개 주는 것도 가능합니다. 이번엔 c와 d를 비교해 보겠습니다.

>>> c = 15 * 5
>>> d = 15 + 15 + 15 + 15 + 15
>>> if c > d:
...     print('c is greater than d')
... elif c == d:
...     print('c is equal to d')
... elif c < d:
...     print('c is less than d')
... else:
...     print('I don\'t know')
... 
c is equal to d

이렇게 elif라는 것을 사용하면 여러 개의 조건을 검사해서 그 중에서 맘에 드는 것을 고를 수 가 있답니다.

== 연산자

여기서 새로운 것이 또 있는데, 바로 ==(등호 두 개)입니다. ==는 지금까지 알고 있던 =(등호 한 개)와는 쓰임새가 다르니 혼동하지 않도록 주의하세요. c == d라고 쓰면 'c와 d의 값이 같은가?'를 나타냅니다. 지금처럼 두 값을 비교할 때 사용하지요. 지금까지 등호 하나를 써서 c = d라고 쓴 것은 d의 값을 c에 넣으라는 뜻이었구요.

>>> watch = 1000000

기억나시죠? 이제 그 둘을 구별하실 수 있겠죠?

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

나머지 계산을 이용하는 if 문

어떤 수를 다른 수로 나눈 나머지가 0이면 '나누어 떨어진다'고 합니다. 예를 들어, 48을 4로 나눈 나머지는 0이므로, 48은 4로 나누어 떨어집니다.

>>> 48 % 4
0

어떤 수 a가 다른 수 b로 나누어 떨어지는지를 파이썬의 if 문으로 다음과 같이 평가할 수 있습니다.

>>> a = 48
>>> b = 4
>>> if a % b == 0:
...     print(f'{a}는 {b}로 나누어 떨어집니다.')
... elif a % b != 0:
...     print(f'{a}는 {b}로 나누어 떨어지지 않습니다.')
...
484로 나누어 떨어집니다.

위의 예에서 elif a % b != 0: 대신 else:라고 해도 결과는 같겠죠?

조건에 따라 반복문 중단하기

어릴 때는 큰 수를 잘 이해하지 못하죠?

하나부터 열까지밖에 모르는 아이처럼, 10보다 큰 숫자가 들어오면 멈추는 반복문을 작성해볼까요?

# filename: ten.py

max = 10

while True:
    num = int(input())
    if num > max:
        print(num, 'is too big!')
        break

이와 같이 반복문에서 break를 사용하면 빠져나올 수 있답니다.

입력:

3
6
9
12

출력:

12 is too big!

오늘의 강의는 여기까지입니다. 강의는 이해가 된다고 해서 그냥 훑어보지 마시고 꼭 예제를 따라서 쳐보시기 바랍니다. 그리고 그것과 비슷한 프로그램을 스스로 만들어 보시구요. '백타가 불여일작'이라는 말도 있거든요.

백 번 따라해보는 것보다 한 번 직접 만들어 보는 것이 낫다

끝…

 
[출처] https://wikidocs.net/57

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
17 [python 수학] FizzBuzz를 '개발자답게' 구현해보자 file 졸리운_곰 2024.12.26 317
16 [python 수학] matplot ylim How to set the axis limits y축 범위 고정 졸리운_곰 2024.06.08 434
15 [python 수학] [PYTHON] bar 그래프에 백분율 표시하기 file 졸리운_곰 2024.06.08 476
14 [python 수학] [Python] 막대 그래프 (Bar Chart) file 졸리운_곰 2024.06.08 357
13 [Python 수학] Plotting With PyQtGraph 졸리운_곰 2024.06.07 558
12 [Python 수학] 그래프 라이브러리 PyQtGraph 2D Graph 예제 코드 file 졸리운_곰 2024.06.06 498
11 [python 수학] [PYTHON] bar 그래프에 백분율 표시하기 file 졸리운_곰 2024.06.06 721
10 [python 수학] [Numpy] 넘파이 기본 문법 정리 졸리운_곰 2023.11.28 605
9 [python 수학] Numpy 많이쓰는 함수 정리 졸리운_곰 2023.11.28 533
8 [Python 수학] Python/데이터 사이언스 [파이썬] Numpy 정리 졸리운_곰 2023.11.28 428
7 [python][anaconda] 파이썬3(python3) 설치하고 환경(env) 관리하기 - 아나콘다3(anaconda3)를 활용한 설치 file 졸리운_곰 2022.01.20 358
6 [python][anaconda] 파이선 아나콘다 최신 버전 업데이트하기 file 졸리운_곰 2022.01.20 714
5 [python] 시험삼아 만들어본 로또 번호 생성기 졸리운_곰 2017.02.28 2214
4 Introduction to Python for Econometrics_Statistics and Data Analysis.pdf file 졸리운_곰 2016.06.07 2529
3 Numerical.Methods.in.Engineering.with.Python.2nd.Edition.Jaan.Kiusalaas.2010.pdf file 졸리운_곰 2016.06.07 2499
2 NumMethodPython.pdf file 졸리운_곰 2016.06.07 2419
1 Python-for-Computational-Science-and-Engineering.pdf file 졸리운_곰 2016.06.07 2316
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED