본문 바로가기

IT/Python

03 반복되는 명령을 줄여주는 반복문

원소로 반복하기, for문!

지난 시간에 다뤘던 시퀀스에서, 우리는 시퀀스 안의 각각의 원소에 대해 조건을 확인하거나, 원소를 모두 더하는 등을 해야할 필요가 생겼습니다.

그런데 시퀀스의 원소가 많아지면 같은 작업을 반복해서 해야합니다. 이 과정이 복잡하기에 사람들은 시퀀스의 원소에 따라 효과적으로 반복할 수 있는 문법을 만들어내었고, 그것이 for문 입니다.

my_sum = 0
nums = [1, 2, 3]
for i in nums:
  my_sum = my_sum + i

print(my_sum) #6
Copy
 

이렇게 해보세요!

  1. 다음 코드를 따라 적어봅시다.
  2. nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in nums: print(i) Copy
  3. 다음을 생각해봅시다.
    • print()문이 몇 번 실행되었나요?
    • 위 for문에서 i의 역할은 무엇인가요?
    • for문은 언제 사용하는것이 좋을까요?
    • for문의 변수 이름은 마음대로 지어도 될까요?

상단 보조자료에서 실습 해설 강의를 들을 수 있으니, 학습에 참고해보세요.

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in nums:
        print(i)

쌀과 씰! 구분할 수 있나요?

변수 mix는 문자 쌀과 문자 씰이 혼합된 문자열입니다.쌀이 몇 개 있는지 알고 싶은데, 직접 세기에는 눈이 너무 아프겠죠? for과 sequence를 이용해서 쌀과 씰의 개수를 세봅시다!

예를 들어서 쌀의 개수가 10개라면 다음과 같이 출력하면 됩니다.

10
Copy
 

이렇게 해보세요!

  1. 변수 mix에 있는 “쌀”의 개수를 세는 프로그램을 작성해봅시다.
    count_ssal=0
    for i in mix:
        if i=='쌀':
            count_ssal+=1
    print(count_ssal)​
  2. count_ssal=0 for i in mix: if i=='쌀': count_ssal+=1 print(count_ssal) Copy
  3. 실행 버튼을 눌러서 주어진 임무를 잘 수행했는지 확인하세요.
  4. 제출 버튼을 눌러 맞게 코드를 작성했는지 확인해보세요!

상단 보조자료에서 실습 해설 강의를 들을 수 있으니, 학습에 참고해보세요.

## 변수 mix에 있는 "쌀"의 개수를 세봅시다.
mix = "쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰쌀씰쌀쌀씰쌀씰"

count_ssal=0
for i in mix:
    if i =='쌀':
        count_ssal+=1
print(count_ssal)

반복할 숫자의 범위를 알고있다면? range(__ , __)!

연속된 정수를 담은 시퀀스가 필요한 경우에는, 이를 만들어주는 함수 range()를 사용합니다.

  • range(a, b) : a 이상 b 미만의 연속된 정수가 담긴 시퀀스를 만들어주는 함수

따라서 다음과 같이 작성하면 1부터 100까지 숫자를 한줄에 하나씩 출력합니다.

for i in range(1, 101):
    print(i)
Copy
 

이렇게 해보세요!

  1. 다음 코드를 따라 적어봅시다.
    for i in range(1, 11): 
    	print(i)​
  2. 다음을 생각해봅시다.
    • 왜 range()문의 2번째 숫자가 10이 아닌 11일까요?

상단 보조자료에서 실습 해설 강의를 들을 수 있으니, 학습에 참고해보세요.

for i in range(1, 11):
        print(i)

반복할 횟수를 알고있다면? range(__)!

반복할 횟수를 알고 있는 경우에는, range()를 이용해서 편하게 반복문을 만들 수 있습니다.

  • range(a) : a번 반복

따라서 다음과 같이 작성하면 “안녕!”을 5번 출력합니다.

for i in range(5):
    print("안녕!")
Copy
 

이렇게 해보세요!

  1. 다음 코드를 따라 적어봅시다.
    for i in range(5): 
    	print("I Love Python!")​
  2. 다음을 생각해봅시다.
    • 왜 range()에 숫자를 하나만 넣으면 횟수로 반복하기가 되는 걸까요?
    • 이번 실습에서는 반복문의 변수(i)를 활용하지 않았는데, 이러한 경우도 있을 수 있겠군요!

상단 보조자료에서 실습 해설 강의를 들을 수 있으니, 학습에 참고해보세요.

for i in range(5):
        print("I Love Python!")

19단을 외자!

초등학교 2학년, 삼일은 삼, 삼이는 육…
구구단을 열심히 외웠던 기억! 다들 있으신가요?
그런데 인도에서는 무려 19단까지 외운다고 해요!

하지만 우리는 19단을 할 줄 모르죠…
for와 range를 이용해
이를 컴퓨터에게 대신 시켜봅시다!

19단을 외워 아래의 결과처럼 출력해보아요!

19 * 1 = 19
19 * 2 = 38
...
19 * 18 = 342
19 * 19 = 361
Copy
 

이렇게 해보세요!

  1. 주어진 미션을 확인하고, 이를 수행해보세요.
  2. 주어신 출력 예시와 띄어쓰기와 기호까지 정확하게 맞추어서 출력해야 해요.

상단 보조자료에서 실습 해설 강의를 들을 수 있으니, 학습에 참고해보세요.

#for-range()를 이용해서 19단을 전부 출력해봅시다!
for i in range(1, 20):
        print('19 *', i ,'=', i *19)
반응형