1. 아래와 같이 리스트의 데이터를 출력하라. 단, for문과 range문을 사용하라.
price_list = [32100, 32150, 32000, 32500]
32100
32150
32000
32500
정답확인 ->
for i in range(len(price_list)):
print(3 - i, price_list[i])
2. 아래와 같이 리스트의 데이터를 출력하라. 단, for문과 range문을 사용하라.
price_list = [32100, 32150, 32000, 32500]
32000
32150
32000
32500
정답확인 ->
for i in range(1, 4):
print(90 + 10 * i, price_list[i])
3. my_list를 아래와 같이 출력하라.
my_list = ["가", "나", "다", "라"]
가 나
나 다
다 라
정답확인 ->
어렵다면 한단계씩 생각해 봅시다. for문을 사용하지 않고 인덱싱만을 사용해서 코드를 작성해보면 인덱스간의 규칙관계가 눈에 들어옵니다. 같은 행에 있는 두 개의 데이터는 인덱스가 +1 차이납니다. 또한 행이 증가할 때마다 인덱스가 +1 씩 증가합니다.
print(my_list[0], my_list[1])
print(my_list[1], my_list[2])
print(my_list[2], my_list[3])
분석한 규칙을 바탕으로 반복문을 작성합시다. 아래는 첫 열 "가 나 다" 를 한 라인에 하나씩 출력하는 코드입니다. for 문이 인덱스를 0, 1, 2 차례로 바인딩하고 인덱싱을 사용해 값을 출력합니다.
for i in [0, 1, 2]:
print(my_list[i])
한 행에 두 개의 데이터를 출력하고 싶기 때문에 이전 코드의 print 문에 출력하고 싶은 데이터를 추가합니다. 같은 행의 두 데이터는 인덱스 차이가 +1 이라는 것을 잊지마세요. i가 0일 때는 0, 1 위치의 값이 출력됩니다. i가 1일 때는 1, 2 위치의 값이 출력됩니다. * i가 2일 때는 2, 3 위치의 값이 출력됩니다.
for i in [0, 1, 2]:
print(my_list[i], my_list[i+1])
위의 코드를 사용해도 원하는 출력값을 얻을 수 있지만 아래는 코드를 보다 일반적인 형태로 변경했습니다. len 함수를 사용한 것을 눈여겨 보세요.
for i in range( len(my_list) - 1 ) :
print(my_list[i], my_list[i+1])
아래와 같이 작성해도 됩니다. 인덱스를 갖고 노는 겁니다. for문을 단계별로 풀어 써가며 확인해보세요.
for i in range( 1, len(my_list) ) :
print(my_list[i-1], my_list[i])
'알고리즘' 카테고리의 다른 글
파이썬 반복문 with 2차원 리스트 (0) | 2022.04.04 |
---|---|
파이썬 이중 반복문 (0) | 2022.04.03 |
파이썬 반복문 예제 (0) | 2022.04.01 |
(Python) 반복문 예제 3 (0) | 2022.03.30 |
(Python) 반복문 예제 2 (0) | 2022.03.29 |