python

[python] 반복문 for문 | break | continue | while

전감자(◔◡◔) 2022. 9. 22. 22:33

-단순 for 문 일정 횟수를 반복해야 할 때 사용한다.  

'''

제어문(반복문)

1. for 문
    for 변수 in 집합형: #집합형 갯수 만큼 반복
        문장
    가. 일정 횟수 반복 용도
    ==>range() 함수 이용해서 반복 가능

    나. 집합형 데이터를 조회용 반복

2. while문
'''



#for i in "hello":
#for i in [1,2,3,4,5]
#for i in (10,20,30,40,50)
for i in range(5):
    print("hello")
print(range(10))#range(0, 10)
print(list(range(10)))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#range(start,stop[,step])
for x in range(1,6):
    print(x)
for x in range(1,11,2):
    print(x)

# 중첩 for 문
for i in range(2,10):
    for j in range(1,10):
        print("{}X{}={}".format(i,j,i*j))

 

-enumerate() 함수 이용해서 인덱스를 붙일 수 있다. 

'''

제어문(반복문)

1. for 문
    for 변수 in 집합형: #집합형 갯수 만큼 반복
        문장
    가. 일정 횟수 반복 용도
    ==>range() 함수 이용해서 반복 가능

    나. 집합형 데이터를 조회용 반복
    ==> enumerate() 함수 이용해서 반복 횟수 값을 얻을 수 있다.
    bulitins 객체 함수
    인덱스도 같이 튜플 형태로 반환

2. while문

'''
# 나. 집합형 데이터를 조회용 반복

# 딕셔너리는 key가 반복된다.

num = {"name":"홍","age":20}
for n in num:
    print(n)

for idx,value in enumerate(num,10): #시작값 지정가능
    print(idx,value)
num=[10,4,6,78]
for n in num:
    print(n)
#enumerate 함수 이용
num=[10,4,6,78]
for n in enumerate(num):
    print(n)

 

딕셔너리에 for 문 적용 keys(), values(), items() 

num = {"name":"홍", "age":20, "address":"서울"}

#1. key만 얻기
for k in num.keys():
    print(k,end=" ")

print()

#2.value만 얻기

for v in num.values():
    print(v,end=" ")

print()

#3. key,value 쌍 얻기
for k,v in num.items():
    print(k,v,end=" ")

'''

반복문에서 사용하는 키워드

1. break

==>반복문을 빠져나올 때 사용
반복문을 빠져나온다 = 같은 레벨에 있는 문장이 실행된다.

for 문:
    if 조건: break
    문장

'''

 

-continue 문은 특정 조건을 만족시키면 continue 아래 문장들을 실행하지 않고 건너뜀

2.continue
==> 반복처리되는 여러 문장들 중에서
    특정 반복 횟수에서 특정 문장들을 skip 하고자 할 때 사용

'''

print("1")

for n in range(5):
    print(n)

print("end")

print("start")
for n in range(5):
    if n==4:break
    print(n)
print("end")


print("strat")
for n in range(5):
    print("반복처리문1")
    print("반복처리문2")
    if n==3:continue
    print(n)
    print("반복처리문3")
print("end")

#1~10까지 반복하는데 짝수만 출력하시오 continue 이용

for i in range(1,10):
    if i%2==1:continue
    print(i)

-while 문 : 조건문이 거짓이 될 때까지 실행한다.

'''

파이썬 반복문

1. for문, while문 (do~while문 제공 안됨)

2. while문 문법

while 조건:
    실행문1
    ...
    실행문n
==> 조건식에 따라서 무한루프, 또는 실행이 아예 안될 수도 있다.

'''
n=0
while n<=4:
    print("hello")
    n+=1

def menu_print():
    print("메뉴")
    print("------------------------")
    print("1. 게시판 목록보기")
    print("2. 게시판 글저장하기")
    print("0. 종료하기")

def keyboard_input():
    s = input("원하는 번호를 입력하시오")
    return s

while True:
    menu_print()
    s = keyboard_input()
    if s == "1":
        print("게시판 목록보기  완료")
    elif s == "2":
        print("게시판 글저장하기  완료")
    elif s == "0": break

print("프로그램 정상 종료")