티스토리 뷰

영화와 연극의 차이점은 무엇일까요?

많은 부분이 다르겠지만, 필자가 생각하는 가장 큰 차이는 바로 영화는 녹화된 것이며 연극은 실시간이라는 것입니다. 영화는 제작 과정에서 수많은 NG 끝에 완벽한 장면들을 모아서 하나의 영상으로 만들고 나면 세상 어느 곳에서든 볼 수 있습니다. 특히 넷플릭스와 같은 VOD 서비스 덕분에 이동 중에도 볼 수 있고 아침에 조금, 저녁에 조금, 이런 식으로 나누어서 볼 수도 있지요.

반면에 연극은 정해진 시간과 장소에서만 볼 수 있습니다. 배우들이 실시간으로 연기를 하기 때문에 중간에 휴식시간을 가지기도 하고, 회차에 따라 주인공 역할을 하는 배우가 달라지기도 합니다. 아무래도 서로 다른 사람이 연기를 하는 것인 만큼 관객이 느끼는 재미와 감동은 늘 똑같지는 않을 수도 있고 중간에 실수가 나올 수도 있습니다. 심지어 오리지널 연극을 직접 보기 위해 해외여행을 가는 경우도 있지요.

즉, 영화는 한 번 찍어두면 반복 재생이 가능하고, 연극은 매번 직접 연기를 해야 합니다.

 

프로그램에서 분기만큼이나 중요한 것이 바로 "반복"입니다.

 

여러분이 아주 유명한 식당에서 일을 한다고 가정하겠습니다. 만약 홀이 가득 차면 여러분은 기다리는 분들에게 대기번호표를 나눠드리는 역할을 해야 합니다. 편의상 print() 를 이용한다고 하지요.

 

처음 대기손님께 여러분은 1번 표를 뽑아 드립니다.

print("대기번호 : 1")

대기손님 3팀이 더 오셨네요.

print("대기번호 : 2")
print("대기번호 : 3")
print("대기번호 : 4")

아직은 괜찮습니다.

 

그런데 조금 후에 관광버스가 오더니, 수십 수백명의 손님들이 줄을 섭니다.

이제 어떻게 하죠?

 

이 때 필요한 것이 바로 반복문이며, 처음 배워볼 반복문은 for 입니다.

for 변수 in 반복대상:
    실행 명령문1
    실행 명령문2
    ...

리스트나 튜플, 또는 문자열 형태의 반복대상 중에서 순서대로 값을 하나씩 꺼내 변수에 저장하고, 동일한 명령문들을 반복하여 수행합니다. if 와 마찬가지로 for 문장 끝에 콜론(:) 을 붙이며 반복 대상이 되는 실행 명령문들은 들여쓰기를 해서 구분해줍니다.

 

대기번호를 출력하는 명령을 반복문을 통해서 해보겠습니다. 예제에서는 반복대상으로 리스트를 사용하며, 총 5팀이 대기중이라고 가정해볼게요.

for waiting_no in [0, 1, 2, 3, 4]:
    print("대기번호 : {0}".format(waiting_no)) # {0} 위치에는 waiting_no 의 값이 들어가요

실행을 해보면 다음과 같은 결과가 출력됩니다. 앞에서 여러 줄에 걸쳐 작성했던 동작을 단 2줄만에 할 수 있지요.

대기번호 : 0
대기번호 : 1
대기번호 : 2
대기번호 : 3
대기번호 : 4

그런데 생각해보니 대기손님이 100팀이라면 반복대상 리스트에는 여전히 100번을 일일이 적어야 하네요.

 

잠깐, 혹시 range() 기억하시나요?

연속된 정수 데이터를 아주 쉽게 생성할 수 있었는데, 여기서 활용할 수 있겠네요. 다음 코드를 실행해보면 동일한 결과를 낼 수 있습니다.

for waiting_no in range(5): # 0부터 5직전까지 (0~4)
    print("대기번호 : {0}".format(waiting_no))

 

한 가지 차이점이 있다면, 대기번호가 1번부터 시작하는 게 아니라 0번부터 시작하네요. 걱정마세요. range 를 조금만 손대면 되니까요.

for waiting_no in range(1, 6): # 1부터 6직전까지 (1~5)
    print("대기번호 : {0}".format(waiting_no))

이제 원하는 결과를 제대로 출력할 수 있게 되었습니다.

대기번호 : 1
대기번호 : 2
대기번호 : 3
대기번호 : 4
대기번호 : 5

 

조금 다른 예제를 들어볼까요?

유명한 카페인 스타벅스에 손님들이 왔다고 가정하겠습니다. 손님들은 차례대로 주문을 하고, 매장에서는 주문받은 순서대로 커피를 준비하여 손님들에게 안내합니다.

starbucks = ["아이언맨", "토르", "아이엠 그루트"] # 손님 리스트
for customer in starbucks:
    print("{0}, 커피가 준비되었습니다".format(customer))

코드를 실행해보면 다음과 같이 각각의 손님들에게 동일한 형태로 안내하는 것을 확인할 수 있습니다.

아이언맨, 커피가 준비되었습니다
토르, 커피가 준비되었습니다
아이엠 그루트, 커피가 준비되었습니다

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함