집을 지을 때 나무, 돌, 시멘트 등의 재료
와 철근 등의 집의 뼈대
가 필요하다.
프로그램을 만드는 것도 집 짓기와 매우 비슷한 면이 있다. 나무, 돌, 시멘트와 같은 재료는 자료형
이 되고 집의 뼈대를 이루는 철근은 제어문
에 해당한다.
자료형을 바탕으로 제어문을 이용하여 프로그램의 구조를 만들어 보자.
if문과 while문은 조건이 참(True)일 때
코드 블록을 실행한다
그리고 선택적으로 실행이 필요하면 if문, 반복 작업이 필요하면 while문을 사용한다
선택적으로 실행
할 때 사용>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket: //여러 조건 중, 참인 경우만 실행됨
... print("택시를 타고가라")
... elif card:
... print("택시를 타고가라")
... else:
... print("걸어가라")
...
택시를 타고가라
반복 작업이 필요할 때
사용>>> treeHit = 0
>>> while treeHit < 10: //조건이 참이면 코드가 반복적으로 실행됨
... treeHit = treeHit +1
... print("나무를 %d번 찍었습니다." % treeHit)
... if treeHit == 10:
... print("나무 넘어갑니다.")
...
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
나무를 3번 찍었습니다.
나무를 4번 찍었습니다.
나무를 5번 찍었습니다.
나무를 6번 찍었습니다.
나무를 7번 찍었습니다.
나무를 8번 찍었습니다.
나무를 9번 찍었습니다.
나무를 10번 찍었습니다.
나무 넘어갑니다.
for문과 while문은 반복 작업
이 필요할 때 사용한다
조건문이 참인 동안
while 문에 속한 문장들이 반복해서 수행반복 횟수가 명확
할 때 사용문장 구조가 한눈에 들어온다
는 장점이 있다>>> test_list = ['one', 'two', 'three']
>>> for i in test_list: //리스트의 각 변수를 차례로 사용
... print(i)
...
one
two
three
>>> add = 0
>>> for i in range(1, 11): //객체의 요소를 차례로 대입
... add = add + i
...
>>> print(add)
55
한 줄로 작성하여 가독성을 높이고 싶을 때 사용
변수 = 조건문이_참인_경우의_값 if 조건문 else 조건문이_거짓인_경우의_값
message = "success" if score >= 60 else "failure"
range함수는 일정한 범위의 정수 시퀀스
를 생성하는 데 사용되는 함수로, for 문과 함께 자주 사용하는 함수이다
이 함수는 입력받은 숫자에 해당하는 범위 객체(range object)를 반환
하며, 이를 반복문에서 사용한다
시작 숫자를 지정해 주지 않으면 range 함수는 0부터 시작한다.
>>> list(range(5))
[0, 1, 2, 3, 4]
입력으로 주어지는 2개의 인수는 시작 숫자와 끝 숫자를 나타낸다.
단, 끝 숫자는 해당 범위에 포함되지 않는다는 것에 주의하자.
>>> list(range(5, 10))
[5, 6, 7, 8, 9]
세 번째 인수는 숫자 사이의 거리를 말한다.
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]