관리 메뉴

bright jazz music

반복문(while, for) 본문

Language/python

반복문(while, for)

bright jazz music 2022. 4. 23. 09:41
조건식이 참인 동안 몇 번이건 간에 반복적으로 지정된 문장을 수행

while 조건평가식 :
    수행할_문장1
    수행할_문장2
    ...


두 원칙

- 조건 테스트는 첫 주기를 포함해서
    루프의 매 주기가 시작되기 전에 수행

- 조건 테스트는 오직 루프 주기의 시작에서만 수행

#_pwd = '#1234'

#inputNo = input('비밀번호를 입력하세요')


#if inputNo == _pwd :
#   _pwd = '#1234'

#    print('문이 열렸습니다')
#else :
#    print('비밀번호가 다릅니다')


#########


#while문
#주어진 조건이 만족되는 한 반복하려 할 때
###!!!! 반복할 회수 혹은 반복 범위가 정해져 있지 않는 상황에서!!!

#양수만 입력받기
n= -1
while n < 0 :
	n=int(input("?"))






pwd = input('비밀번호?')

while pwd != '#1234' :			#비밀번호 틀리면 반복
    pwd = input('비밀번호?')

    #while문 내의 마지막 행까지 내려갔다가
    #다시 올라와서 조건문을 확인함
    

print('문열림')


#그런데 비밀번호 입력 받는 똑같은 구문이 중복됨.
# 비밀번호 입력을 한 번만 받으면 되지 않을까?


#pwd = input('비밀번호?')

pwd = '' #while문의 조건평가식을 통과할 수있는 초기값
while pwd != '#1234' :
    pwd = input('비밀번호?')

    #while문 내의 마지막 행까지 내려갔다가
    #다시 올라와서 조건문을 확인함
    

print('문열림')



###############

cnt = 0

while cnt < 5 :
    cnt += 1
    print(cnt)


#패턴이 보이지 않으면 나열해보고
#공통 부분을 찾아내 보



tart = int(input('시작?'))
end = int(input('끝?'))

total = 0
i = start

while i <= end :
    total += i
    i += 1

print(total)

 

 

For문

 

 

#for문

#일정한 횟수, 또는 시작값부터 끝값까지 일정한
#간격으로 값을 변경해가며 반복하는 경우

for 변수 in 범위표현식 :
	수행할_문장1
    수행할_문장2
    ...
    

- 범위표현식: 문자열, 복합자료형, range()
- 반복문의 헤더를 통해 반복 범위를 명확히 기술
- 반복 횟수나 범위의 변화를 내부적으로 자동처리



msg = 'hello'
for ch in msg:
    print(f'{ch}/', end='')

#h/e/l/l/o/
#####################

msg = 'hello'
#for ch in msg:
#    print(f'{ch}/', end='')

#h/e/l/l/o/


#위의 코드는
for i in range(0, 5, 1):
    print(f'{msg[i]}/', end='')
#h/e/l/l/o/

#레인지를 사용하면 처음부터 안해도 됨
#거꾸로도 할 수 있음.
#순번을 이용해 많은 옵션 사용 가능

#######Range는 중요




def do_one_set(n) :
    for cnt in range(1, n+1) :
        print(cnt, end=" ")
    print()


for s in range(3) :
    do_one_set(15)


#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 






for s in range(3) :
    n = 15
    for cnt in range(1, n+1) :
        print(cnt, end=" ")
    print()



#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

 

실습

 

def input_positive_number(prompt):
    n = 0
    while n <= 0 :
        n = int(input(prompt))
    return n



def display_multiplication_table(n) :
    for i in range(1, 10) : #1부터 10전까지
        print(f'{n} x {i}= {n*i:2d}') 
        
        #2:d는 10진 정수로 출력하라는 것이다. 자릿수 맞추기
        # 빼면 1~9까지가 10의 자리로 옴
        




n = input_positive_number('출력할 구구단을 양의 정수로 입력하세요')


display_multiplication_table(n)

 

 

break문 : 반복문을 깨고 나오는 문법

 

 

#반복문 한 단계를 빠져나간 후 그 다음 문장을 수행
#보통 if 조건문과 같이 사용되어 루프 중간 혹은 끝에서
#중단하고자 할 때 사용
#루프 중간에 빠져나갈 수 있도록 사용
#코드가 명료해짐


while True : #항상 참이니까 계속 반복
    pwd = input('비밀번호?')
    
    if pwd == '#1234' :
        break #탈

print('문열림')

#########


while True :
n = int(input"?")
if n>=0 : break
오류





########

score, sum = 0, 0


while True :
    score = int(input("점수?"))
    if score < 0 : break

    sum += score
print("합계=", sum)

 

 

 

'Language > python' 카테고리의 다른 글

복합자료형(compound data type):리스트  (0) 2022.04.30
반복문 과제  (0) 2022.04.23
220409 조건문, 반복문  (0) 2022.04.09
220402 문자열 실습  (0) 2022.04.04
문자열  (0) 2022.04.04
Comments