만약 조건이 참인 경우 여러 개의 문장이 실행되어야 한다면 어떻게 해야 할까요?
예를 들어 이번 달 쿠러그 경험치가 300 exp가 넘을 경우 Slack 수다 채널에 알려짐과 동시에 쿠러그 회원들에게 자랑거리가 된다고 합시다.
이런 경우에는 다음과 같이 들여쓰기를 이용하여 문장들을 묶을 수 있습니다.
if (exp >= 300) :
print("축하드립니다. 이번 달 경험치가 300 exp을 달성했습니다.")
print("당신은 쿠러그의 자랑입니다.")
위의 코드에서 exp의 값이 300 이상이면 print()를 호출하는 2개의 문장이 실행됩니다. 이들 문장이 동일한 개수의 들여쓰기를 가지고 있는 것을 유의해야 합니다!
이들 모두 동일한 블록(block)에 속해 있습니다. 하나의 블록에 속하는 문장들은 모두 같이 실행됩니다.
블록에 있는 문장들은 그 위에 있는 문장들과 비교할 때, 앞에 4칸의 공백을 두고 있습니다. 공백을 □로 표시해보면 아래와 같습니다.
if (exp >= 300) :
□□□□print("합격입니다.")
□□□□print("장학금도 받을 수 있습니다.")
파이썬에서 문장 앞에 동일한 개수의 공백을 추가하면 이들 문장들은 하나의 블록에 속하게 됩니다.
만약 동일한 블록에 속해야 하는데 실수로 공백을 더 많이 추가하면 오류가 발생합니다. 아래의 예제는 서로 다른 공백 때문에 발생하는 오류를 보여줍니다.
if (exp >= 300) :
print("합격입니다.")
print("장학금도 받을 수 있습니다.")
<실행 결과>
IndentationError: unexpected indent
블록 안에 다시 새로운 블록을 만드는 것도 가능합니다. 아래와 같이 같은 블록이라면 같은 들여쓰기를 하시면 됩니다.

소스를 보기 쉽게 하려면 들여쓰기를 할 때 일관된 방법을 사용하는 것이 좋습니다.
일반적으로 TAB 키를 사용하는데 처음 TAB 키를 사용하면 프로그램의 나머지 부분에서도 TAB 키를 사용하여 블록을 정의하는 것이 좋습니다.
만약 TAB 키 대신 4칸의 공백으로 블록을 구분하였다면 나머지 코드에서도 4칸의 공백을 사용하는 것이 좋습니다.
1. 봉민이는 돌아오는 여름을 맞아 옷을 새로 사기로 마음 먹었습니다.
봉민이가 자주 이용하는 인터넷 쇼핑몰에서 옷을 사면, 구입액이 10만원 이상일 때 5%의 할인을 해준다고 합니다.
사용자에게 구입 금액을 물어보고 최종적으로 할인 금액과 지불 금액을 출력합니다.
또한 10만원 이하인 경우 사용자에게 얼마만큼 더 구입하면 5% 할인을 받을 수 있는지 알려줍시다. (if문과 else문을 이용합시다!)

<실행 결과>
구입 금액을 입력하시오 : 110000
지불 금액은 104500 원입니다.
구입 금액을 입력하시오 : 90000
10000 원만큼 더 구입하시면 5% 할인을 받으실 수 있습니다.
지불 금액은 90000 원입니다.
2. 문자열의 중앙에 있는 문자를 출력하는 프로그램을 만드려고 합니다. 예를 들어 문자열이 "redvelvet" 이라면 중앙의 문자는 "e"가 됩니다.
하지만 만약 문자열이 짝수개의 문자를 가지고 있다면 중앙 2개의 글자를 출력합니다. 예를 들어 "seulgi" 문자열에서는 "ul"를 반환합니다.
<실행 결과>
문자열을 입력하시오 : redvelvet
중앙 글자는 e
문자열을 입력하시오 : seulgi
중앙 글자는 u l
3. 봉민이는 2017년 한 해, 망포쪽에 있는 커피파이브에서 아르바이트를 하였습니다.
봉민이는 자신의 근무 시간과 시간당 임금을 입력하면 총 받게 될 금액을 계산하는 프로그램을 만들게 되었습니다.
주당 근무 시간이 40시간을 넘으면 1.5배의 임금을 지급해야 한다고 할 때 이번 주에 받는 주급을 계산해봅시다.
<실행 결과>
근무 시간을 입력하세오 : 45
시간당 임금을 입력하세요 : 6500
이번주 주급은 308750
근무 시간을 입력하세오 : 30
시간당 임금을 입력하세요 : 6800
이번주 주급은 204000