[Python] 제어문 - 반복문

형이·2023년 11월 6일

Python

목록 보기
10/34
post-thumbnail

📝 제어문 - 반복문

🖥️ 1. 반복문

  • 대입연산자 : =, +=, -=, *=, /=, %=
  • 왼쪽에 저장된 값과 오른쪽에 값을 연산한 뒤 다시 왼쪽에 대입
num = 10

num += 1
print(num)

num *= 10
print(num)

num /= 10
print(num)

num %= 2
print(num)

[결과]
11
110
11.0
1.0

1-1. while문

while 조건식 :
  조건식이 True인 동안 반복할 문장
i = 1
while i <= 5 :
  print('Hello Python')
  i += 1
print('현재 i의 값 : {}'.format(i))

[결과]
Hello Python
Hello Python
Hello Python
Hello Python
Hello Python
현재 i의 값 : 6
# 1 ~ 10까지의 합 : while문으로

i = 1
sum = 0

while i <= 10 :
  sum += i
  i += 1

print('1 ~ 10까지의 총합 : {}'.format(sum))

[결과]
1 ~ 10까지의 총합 : 55

📝 문제

input 함수로 원하는 단어를 입력 받아 구구단을 출력하는 프로그램을 작성해보자.

5를 입력했을 경우
5 1 = 5
5
2 = 10
...

dan = int(input('원하는 숫자를 입력해주세요.'))
print('{}단'.format(dan))

i = 1
while i <= 9 :
  print('{} * {} = {}'.format(dan, i, dan*i))
  i += 1
  
[결과]
원하는 숫자를 입력해주세요.9
99 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

1-2. for문

for 변수 in range(범위) :
  반복할 문장
  ...
  • range() : 범위를 생성하는 함수
  • 시작 인덱스, 종료 인덱스(직전), 증가값)
num = range(0, 10, 1)
print(num)

[결과]
range(0, 10)
for i in num :
  print(i)
  
[결과]
0
1
2
3
4
5
6
7
8
9
for i in range(0, 10, 1) :
  print(i)
  
[결과]
0
1
2
3
4
5
6
7
8
9
for i in range(10) :
  # (종료인덱스), 시작인덱스는 기본값 0으로 세팅되고 증가값은 기본 1로 세팅
  print(i, end=' ')
  
[결과]
0 1 2 3 4 5 6 7 8 9 
for i in range(0, 10) :
  # (시작인덱스, 종료인덱스), 증가값은 기본 1로 세팅
  print(i, end=' ')
  
[결과]
0 1 2 3 4 5 6 7 8 9 

📝 문제

1 ~ 100까지의 짝수의 총합을 구하는 프로그램을 작성해보자

sum = 0

for i in range(2, 101, 2) :
    sum += i

print('1 ~ 100까지 짝수의 총합 : {}'.format(sum))

[결과]
1 ~ 100까지 짝수의 총합 : 2550

🖥️ 2. list를 for문과 함께 사용

li = ['apple', 'banana', 'orange', 'melon']

for i in li :
  print(i, end=' ')
  
[결과]
apple banana orange melon 
tu = ('자바', '파이썬', '오라클', '스프링')

for i in tu :
  print(i, end=' ')
  
[결과]
자바 파이썬 오라클 스프링 

📝 문제

score 리스트에 저장된 점수가 60점 이상인 학생이 몇명인지 알아보는 프로그램을 작성하시오.

  • score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
score = [90, 30, 50, 60, 80, 70, 100, 40, 20, 10]
count = 0

for i in score :
  if i >= 60 :
    count += 1

print('60점 이상인 학생의 수는 총 {}명입니다.'.format(count))

[결과]
60점 이상인 학생의 수는 총 5명입니다.

🖥️ 3. 다중 반복문

for num1 in range(1, 4) :
  print('현재 num:{}'.format(num1))
  for num2 in range(1, 6) :
    print('★', end=' ')
  print()
  
[결과]
현재 num:1
★ ★ ★ ★ ★ 
현재 num:2
★ ★ ★ ★ ★ 
현재 num:3
★ ★ ★ ★ ★ 

📝 문제

'★'을 이용하여 아래와 같은 도형을 만들어 보자.
★★★★★
★★★★★
★★★★★
★★★★★
★★★★★

for i in range(1, 6) :
  for star in range(1, 6) :
   print('★', end='')
  print()

📝 문제

'★'을 이용하여 아래와 같은 도형을 만들어 보자.

★★★★★
★★★★
★★★
★★

for i in range(5) :
  for j in range(i, 5) :
    print('★', end='')
  print()

📝 문제

'★'을 이용하여 아래와 같은 도형을 만들어 보자.


★★
★★★
★★★★
★★★★★

for i in range(5) :
  for j in range(i+1) :
    print('★', end='')
  print()

📝 문제

구구단 2단부터 9단까지 출력하기 (for문)

2단
2 1 = 2
2
2 = 4
...
3단
...
9단
...
9 * 9 = 81

for i in range(2, 10, 1) :
  print('{}단'.format(i))
  for j in range(1, 10, 1) :
    print('{} * {} = {}'.format(i,j,i*j))
  print()

📝 문제

구구단 2단부터 9단까지 출력하기 (while문)

i = 2

while i <= 9 :
  print('{}단'.format(i))
  j = 1
  while j <= 9 :
    print('{} * {} = {}'.format(i,j,i*j))
    j += 1
  i += 1
  print()

0개의 댓글