코데카데미 파이썬 기초과정 요약 - 반복문
28 May 2021 | 기초 TIL codecademy영어의 압박을 이겨내고 코데카데미의 파이썬 기초과정을 풀고 있다.
앞의 내용을 숙지하지 못한 상태에서 뒤로가니 너무 어려워져서 그동안 배운 부분을 복습할 겸 기초과정을 요약하기로 했다.
반복문
For loops
for loops을 돌리는데에는 두 가지 방법이 있는데, 똑같은 연산을 n번 수행하라고 하거나 해당 리스트의 모든 원소 i에 해당 연산을 수행하라고 할 수 있다.
첫번째를 먼저 보자면
for list in 3:
print("아무거나 원하는거")
# 출력결과
# 아무거나 원하는거
# 아무거나 원하는거
# 아무거나 원하는거
뒤의 숫자를 list나 range로 갈음할 수 있다. list는 변수를 묶어서 처리할 수 있도록 만들어진 목록 형식[0,1,2]의 데이터 타입이다. 예를 들어서 list = [0,1,2,3,4] 일때, 이 리스트의 길이는 5이기 때문에 해당 리스트를 in 뒤에 넣게되면 아래에 들여쓰여진 출력 명령을 5번 시행하라는 뜻이 된다.
for <temporary variable> in <list of length 5>:
print("아무거나 원하는거")
# 출력결과
# 아무거나 원하는거
# 아무거나 원하는거
# 아무거나 원하는거
# 아무거나 원하는거
# 아무거나 원하는거
range 는 연속된 숫자로 이루어진 객체를 만드는 함수이다.
print(list(range(3)))
[0, 1, 2]
range를 숫자나 리스트 대신 사용하면 아래와 같다.
for temp in range(5):
print("Learning Loops"+str(temp+1))
# 출력결과
# Learning Loops1
# Learning Loops2
# Learning Loops3
# Learning Loops4
# Learning Loops5
# Learning Loops6
While loops
while 반복문은 주어진 조건이 참인 동안에 연산을 수행하는 반복문이다.
countdown = 10
while countdown >= 0:
#카운트다운이 0이상이 참인 동안에 연산을 수행
print(countdown)
countdown -= 1
print("발사!")
# 출력결과
# 10
# 9
# 8
# 7
# ...
# 2
# 1
# 발사!
While loops: Lists
python_topics=["var","control flow","loops","modules","classes"]
length = len(python_topics)
#파이썬토픽스의 길이는 5
index = 0
#변수 선언
while index < length
print("I am learning"+ python_topics[index])
index += 1
#한 번 실행할 때마다 인덱스 값에 1 을 더함
#출력결과
# I am learning var
# I am learning control flow
# I am learning loops
# I am learning modules
# I am learning classes
Loop Control : Continue
앞서 말한 반복문의 두번째 사용예시로, 리스트 내의 모든 원소애 대해 연산을 수행해주는 반복문은 아래와 같이 쓴다.
ages = [12,38,34,26,21,19,67,17]
for item in ages:
if item < 21:
continue
else
print(item)
#결과
# 38
# 34
# 26
# 21
# 67
중첩된 반복문 Nested Loops
sales_data = [[12,17,22],[2,10,3],[5,12,13]]
scoops_sold = 0
for location in sales_data
for i in location
scoops_sold += i
print(scoops_sold)
#결과
#96
복습
single_digits = list(range(10))
#single_digits = [0,1,2,3...8,9]
squares=[]
cubes=[]
for digit in single_digits:
squares.append(digits**2)
#제곱
cubes.append(digits**3)
#세제곱
print(squares)
#결과
# 0,1,4,9,16,25,36,49,64,81
주의:* 반복문에서 주의할 점
for i in range(3):
print(5)
#결과
# 5
# 5
# 5
5를 출력하라는 연산을 3번 반복한다
print(range(3)) # [0,1,2]
for i in range(3):
print(i)
#결과
# 0
# 1
# 2
range(3)의 원소 i 를 모두 출력한다.