# for 반복문 사용해서 1부터 10까지 출력하는 프로그램 만들어보자
# for 문에 쓰일 변수 이름은 i 라고 하자
for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
print(i) # 수행 부분
# 1에서 100까지 쓰려면?!
# range 함수 가 해결해 준다.
# 파라미터를 1개 쓰는 함수, 2개 쓰는 함수, 3개 쓰는 함수가 있다
# ex) range()
# range( , )
# range( , , )
# 파라미터 2개 버전
for i in range(start, stop):
print(i)
# start 부터 stop-1 까지의 범위
# 파라미터 1개 버전
for i in range(stop):
print(i)
# 0부터 stop-1 까지의 범위
#파라미터 3개 버전
for i in range(start, stop, step):
print(i)
#start부터 stop-1까지의 범위, 간격 step
# ex) for i in ragne(3, 17, 3):
# print(i)
# 3
# 6
# 9
# 12
# 15
range 함수의 장점
간편함
깔끔함
메모리 효율성
실습문제
numbers라는 리스트가 주어졌습니다.
for문과 range 함수를 사용하여, numbers의 인덱스와 원소를 출력해 보세요.
numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
# 인덱스와 원소 출력
# 코드를 입력하세요.
실행하면 콘솔에 아래와 같이 출력됩니다.
0 2
1 3
2 5
3 7
4 11
5 13
6 17
7 19
8 23
9 29
10 31
과제 해설
리스트의 길이가 20이라고 가정하면, 해당 리스트의 인덱스 목록은 range(20)으로 받아올 수 있습니다. 리스트 numbers의 인덱스 목록을 받아오려면 range(len(numbers))를 하면 되겠죠?
우선 인덱스만 순서대로 출력해 봅시다.
for i in range(len(numbers)):
print(i)
인덱스 i에 있는 원소를 받아오려면 numbers[i]를 하면 되는데요. 그러면 i와 numbers[i]를 함께 출력하면 되겠죠?
모범 답안
numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
# 인덱스와 원소 출력
for i in range(len(numbers)):
print(i, numbers[i])
다른 답
numbers = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
# 인덱스와 원소 출력
# 코드를 입력하세요.
for index, value in enumerate(numbers):
print(index, value)
실습과제
"2의 n제곱"을 출력하는 프로그램을 만들려고 합니다.
코드를 실행하면 아래와 같이 2^0 = 1부터 2^10 = 1024까지 출력되어야 합니다.
2^0 = 1
2^1 = 2
2^2 = 4
.
.
.
2^10 = 1024
과제 해설
"2의 0제곱"부터 "2의 10제곱"까지 출력하고 싶으니까, 0부터 10까지 반복문을 돌리면 되겠죠? 그러면 range(11)을 사용하면 됩니다.
for i in range(11):
혹시 잊으셨다면, 거듭제곱 연산은 파이썬에서 **인데요. 2 ** 3을 하면 "2의 3제곱"이기 때문에 8이 나오는 거죠.
이제 거듭 제곱 연산과 문자열 포맷팅을 사용하면 코드를 완성할 수 있습니다.
모범 답안
for i in range(11):
print("{}^{} = {}".format(2, i, 2 ** i))
2^0 = 1
2^1 = 2
2^2 = 4
.
.
.
2^10 = 1024
다른 답안
for i in range(11):
print(f"2^{i}={2**i}")
'교육 > [Codeit] 프로그래밍 기초 in Python' 카테고리의 다른 글
피타고라스 삼조 (0) | 2020.11.23 |
---|---|
실습과제 구구단 만들기 (0) | 2020.11.18 |
for 반복문 (0) | 2020.11.18 |
리스트 꿀팁 (0) | 2020.11.17 |
리스트 함수 활용하기 (0) | 2020.11.17 |