Python

[Python] 반복문(while, for)

퓨어맨 2022. 6. 27. 16:48

while

  • 반복 횟수가 명확하지 않을 때
# 기본 구조
while 조건식:
    실행문장
    실행문장2
    if 조건식:
        실행문장

 

# 1~3
number = 1
while number <= 3:
    print(number)
    number+=1
1
2
3

 

 

# break 멈추는 키워드, while 문을 멈춤
# 1~3출력
number = 1
while True:
    print(number)
    number+=1
    if number > 3:
        break
1
2
3

 

 

 

# 파이썬 최고! 13번 출력
num = 0
while num < 13:
    num+=1
    print(f'{num} 파이썬 최고!')
1 파이썬 최고!
2 파이썬 최고!
3 파이썬 최고!
4 파이썬 최고!
5 파이썬 최고!
6 파이썬 최고!
7 파이썬 최고!
8 파이썬 최고!
9 파이썬 최고!
10 파이썬 최고!
11 파이썬 최고!
12 파이썬 최고!
13 파이썬 최고!

 

 

# 두 정수의 합 구하기
while True:
    num1 = int(input('첫 번째 정수 입력 >> '))
    num2 = int(input('두 번째 정수 입력 >> '))
    
    if num1 == 0 and num2 == 0:
        print('프로그램이 종료되었습니다.')
        break;
        
    print('두 정수의 합 :',num1+num2)
첫 번째 정수 입력 >> 5
두 번째 정수 입력 >> 6
두 정수의 합 : 11
첫 번째 정수 입력 >> 0
두 번째 정수 입력 >> 0
프로그램이 종료되었습니다.

 

 

 

# 목표 몸무게에 따라
now = int(input('현재 몸무게 : '))
goal = int(input('목표 몸무게 : '))
i = 1
while True:
    lose = int(input(f'{i}주차 감량 몸무게 : '))
    i+=1
    now-=lose
    if now <= goal:
        print(now,'kg 달성!! 축하합니다!')
        break
현재 몸무게 : 80
목표 몸무게 : 70
1주차 감량 몸무게 : 2
2주차 감량 몸무게 : 3
3주차 감량 몸무게 : 4
4주차 감량 몸무게 : 5
66 kg 달성!! 축하합니다!

 

 

 

for

  • 반복 횟수가 명확할 때
# 기본구조
for 변수 in 문자열(or 리스트 or 튜플):
    print(변수)

 

 

# for문 예시
list_food = ['햄버거','치킨','피자']
for food in list_food:
    print(list_food)
    print(food)
['햄버거', '치킨', '피자']
햄버거
['햄버거', '치킨', '피자']
치킨
['햄버거', '치킨', '피자']
피자

 

 

# 튜플 for 예시
tp_ice = ('아몬드봉봉', '뉴욕치즈', '사빠딸', '초코나무숲')
for ice in tp_ice:
    print(ice)
아몬드봉봉
뉴욕치즈
사빠딸
초코나무숲

 

 

# 문자열 for 예시
hi = '안녕!나는재석이야'
for i in hi:
    print(i, end = '')
안녕!나는재석이야

 

 

# 이중리스트
lst = [['광수','A'],['재석','AB'],['소민','B'],['지효','A'],['하하','O']]

for i in lst:
    print(i[1])
A
AB
B
A
O

 

 

# 리스트 합격, 불합격 판별
score_list = [90, 45, 70, 60, 55]
for i in score_list:
    if i >= 60:
        print(f'{score_list.index(i)+1}번 학생은 합격입니다.')
    else:
        print(f'{score_list.index(i)+1}번 학생은 불합격입니다.')
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 합격입니다.
5번 학생은 불합격입니다.

 

 

* range() 함수 사용

  • 필요한 만큼의 숫자를 만들어내는 유용한 기능
  • range(시작할숫자, 종료할 숫자, 증감량)
  • range(1,10,1) -> 1부터 9까지 1씩 증가
  • range(1,100,3) -> 1부터 99까지 3씩 증가
  • range(10,1,-1) -> 10부터 2까지 -1씩 감소

* range 내 생략

  • range(기본값0, 종료할숫자, 기본값1)
  • range(3,10) -> 3부터 9까지 1씩 증가
  • range(10) -> 0부터 9까지 1씩 증가

 

for i in range(1,10,1):
    print(i,end = ' ')
1 2 3 4 5 6 7 8 9 

 

 

for i in range(10, 1, -1):
    print(i, end = ' ')
10 9 8 7 6 5 4 3 2 

 

 

for i in range(3,10):
    print(i, end = ' ')
3 4 5 6 7 8 9 

 

 

for i in range(8):
    print(i, end = ' ')
0 1 2 3 4 5 6 7 

 

 

food_lst = ['햄버거','타코야끼','핫도그']
for i in range(len(food_lst)):
    print(i,food_lst[i])
0 햄버거
1 타코야끼
2 핫도그

 

 

score_list = [90, 45, 70, 60, 55]
for i in range(len(score_list)):
    if score_list[i] >= 60:
        print(f'{i+1}번 학생은 합격입니다.')
    else:
        print(f'{i+1}번 학생은 불합격입니다.')
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 합격입니다.
5번 학생은 불합격입니다.

 

 

list2 = [4,5,2,1,99,15,2,7,27]
# 최댓값

max_num = list2[0]

for i in range(len(list2)):
    if max_num < list2[i]:
        max_num = list2[i]

# print(max_num)

for i in list2:
    if i > max_num:
        max_num = i
print(max_num)
99
99

 

 

sum = 0
for i in range(3,101,3):
    sum+=i
print(sum)
1683

 

 

for i in range(1,10):
    print(f'2 * {i} = {2*i}')
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

'Python' 카테고리의 다른 글

[Python] 함수  (0) 2022.06.29
[Python] 딕셔너리(dict)  (0) 2022.06.28
[Python] 리스트, 튜플  (0) 2022.06.22
[Python] 조건문  (0) 2022.06.22
[Python] 연산자(산술,지수,복합,비교,멤버)  (0) 2022.06.15