Loops (for & while)
Loops (for & while)
Loop의 필요성
단순히 list 내에 있는 element를 출력하고자 할 때, 기존에 배웠던 내용으로는 효율적으로 코드를 작성하기 어렵다
아래 예시와 같이 가능은 하지만.. 만약 2억개의 element를 출력하려면 매우 힘든 작업이 될 것이다
squad = ['Leno', 'Tierny', 'Partey', 'Saka', 'Rowe', 'Pepe']
print(squad[0])
print(squad[1])
print(squad[2])
print(squad[3])
print(squad[4])
print(squad[5])
# Output: Leno
# Output: Tierny
# Output: Partey
# Output: Saka
# Output: Rowe
# Output: Pepe
For Loops: Introduction
for
for 루프를 통해 특정 객체의 원소에 하나씩 차례로 접근할 수 있다
for <temporary variable> in <collection>:
<action>
1) for
→ for loop 실행을 위한 문구
2) <temporary variable>
→ 현재 for loop가 실행중인 객체에 설정하는 임시 변수
3) in
→ <temporary variable>
과 <collection>
분리 목적
4) <collection>
→ loop over을 위한 리스트, 튜플, 문자열 등
5) <action>
→ loop의 원소들에 취하는 행위
squad = ['Leno', 'Tierny', 'Partey', 'Saka', 'Rowe', 'Pepe']
for arsenal_player in squad:
print(arsenal_player)
# Output: Leno
# Output: Tierny
# Output: Partey
# Output: Saka
# Output: Rowe
# Output: Pepe
Loop Control: Break
break
파이썬의 반복문(for
문 또는 while
문)에서 빠져나오고자할 때 사용하는 키워드 (무한루프 방지용)
squad = ['Leno', 'Tierny', 'Partey', 'Saka', 'Rowe', 'Pepe']
print('Let me find the player you are looking for')
for player in squad:
if player == 'Saka':
print('He\'s in the training camp now!')
break
# Output: Let me find the player you are looking for
# Output: He's in the training camp now!
# break 존재 → 실행 O, Saka 발견 이후 실행 중지
# break 삭제 → 실행 O, Saka 발견 이후 뒤에 있는 Rowe, Pepe까지 탐색
Loop Control: Continue
continue
다음 loop로 넘어가고자할 때 사용
# continue가 있을 때
number_list = [1, -5, 8, -2, 11, -25]
for number in number_list:
if number < 0:
print(number)
continue
print('plus')
# Output: plus
# Output: -5
# Output: plus
# Output: -2
# Output: plus
# Output: -25
# 변수 number이 음수일때 변수를 출력하고, continue가 있기에 다음 loop로 넘어감
# 여기선 다음 loop가 없으므로, number이 음수일때에는 'plus' 출력을 안함
# continue가 없을 때
number_list = [1, -5, 8, -2, 11, -25]
for number in number_list:
if number < 0:
print(number)
print('plus')
# Output: plus
# Output: -5
# Output: plus
# Output: plus
# Output: -2
# Output: plus
# Output: plus
# Output: -25
# Output: plus
# 변수 number가 음수일때 변수를 출력하고, continue가 없기에 바로 'plus' 출력
For Loops: Using Range
for i in range(first_value, end_value, step)
for
과 range()
를 이용하여 정수 범위를 표현하고, 범위의 갯수만큼 출력 가능
<temporary variable>
자체를 출력할 수도 있고,
<temporary variable>
를 임시변수로 두고 미리 설정해둔 변수를 이용할 수도 있다.
range
에서 step
을 활용하여 elements 간의 간격을 정할 수도 있다
step
은 음수로 지정하여 거꾸로도 정할 수 있다
# step > 0 일 때
def for_loops():
my_list = []
for i in range(1, 10, 2):
my_list.append(i)
return my_list
# Output
[1, 3, 5, 7, 9]
# step < 0 일 때
def list_for_loops():
my_list = []
for i in range(9, 0, -2):
my_list.append(i)
return my_list
# Output
[9, 7, 5, 3, 1]
아래와 같은 예시들 도 있다
for n in range(3):
print(n)
# Output: 0
# Output: 1
# Output: 2
# 임시변수 n을 정수범위 0~2까지 설정
for back_number in range(5):
print("Today, Number " + str(back_number + 1) + " will play.")
# Output: Today, Number 1 will play.
# Output: Today, Number 2 will play.
# Output: Today, Number 3 will play.
# Output: Today, Number 4 will play.
# Output: Today, Number 5 will play.
# 임시변수 back_number을 정수범위 0~4까지 설정
comment = "Play hard!"
for temp in range(3):
print(comment)
# Output: Play hard!
# Output: Play hard!
# Output: Play hard!
While Loops: Introduction
while
특정 조건 하에 만족하는 동안만 실행하고자 하는 경우에 사용
while <conditional statement>:
<action>
1) while
→ while loop 실행을 위한 문구
2) <conditional statement>
→ 사용하고자 하는 조건
3) <action>
→ loop의 원소들에 취하는 행위
아래 예시를 보면,
number = 0
while number <= 3:
print('You can play today, number ' + str(number + 1) + '.')
number += 1
print('Sorry we are full now')
# Output: You can play today, number 1.
# Output: You can play today, number 2.
# Output: You can play today, number 3.
# Output: You can play today, number 4.
# Output: Sorry we are full now
1) 0에서 시작
2) number
이 3 이하면 조건 실행 (첫번째 문구 출력)
3) number += 1
(이후 number
이 1씩 증가후 while
문 재실행)
4) while
문 실행이 종료되면 두번째 문구 출력
Take Away
아직 갈길이 먼 듯 한 while
문
while
문while
문이 대강 어떤 식으로 돌아가는지 이해는 된다.
하지만 나에게 있어 매우 직관적인 for
문에 비하여 while
문은 아직 머릿속에서 구동되는 logic이 정확하지는 않다.
가능한 많이 써보며 알아봐야할 것 같다..
Author And Source
이 문제에 관하여(Loops (for & while)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jinatra/Loops-for-while저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)