Python 기초(3)

soyoung·2023년 3월 3일
0

Python

목록 보기
3/3
post-thumbnail

while문

  • 특정 조건에서 반복해서 문장을 수행해야 할 경우 while문을 사용한다.
  • 반복문이라고도 부른다.
  • 조건문이 참인 동안에 while문 하위의 소스 코드들이 반복해서 수행된다.

while문 기본 구조

#초기값 -> 조건식 -> 실행문 -> 증감식

<초기값>
while <조건문>:
	<수행할 문장1>
    <수행할 문장2>
    <수행할 문장3>
    ...
    <증감식>
#예제(1)
i = 1

while i <= 5:
    print('안녕하세요. 숫자 {} 입니다.' .format(i))
    i += 1    


...    

    
#예제(2) - while문 break문 사용
i = 1

while i <= 5:
    print('안녕하세요. 숫자 {} 입니다.' .format(i))
    i += 1
    
    if i == 4:
        print('while 반복문을 나갑니다.')
        break


...    
    

#예제(3) - while 무한 반복문
while True:
    print("Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.")
   
   
...    
    

#예제(4) - 실무 사용 예시: ETL 체크    
from pymssql import connect
import pandas as pd
import time

HOST = 'xxx.xxx.xx.xxx'  # 서버IP주소
USER = 'usr_xxxxxx'		 # 접속계정
PASS = 'xxxxxxxxxx'	 	 # 접속패스워드
DB = 'xxxxx'			 # 연결DB명

try:
    while True:
        with connect(HOST, USER, PASS, DB) as sql:
            query = "EXEC [DB명].[스키마명].[모듈명]" #SP명

            chk_df = pd.read_sql(query, con=sql)

            if chk_df['rtrn'][0] == 1:
                print(chk_df)
                print('성공!')
                break
            else:
                print('실패!')            
                time.sleep(6)
                pass
            
except KeyboardInterrupt:
    print('강제 중지')

    
...    
    

#예제(5) - 실무 사용 예시: 로그인 체크
userid = 'pythonuser'
userpw = '123456'

print('>>> 로그인 <<<')

i = 1
count = 5 #로그인 시도 가능 횟수

while i <= count:
    #입력 받기
    inputUserid = input('사용자: ')
    inputUesrpw = input('비밀번호: ')
    
    #입력 확인하기
    if userid == inputUserid and userpw == inputUesrpw:
        print('\n로그인 성공!')
        print('{}님 환영합니다.'.format(userid))
        break
    else:
        print('\n로그인 실패!')

    i += 1 # 증감식 -> 로그인 재시도        

...

for문

  • while문과 비슷한 반복문
  • 정해진 횟수만큼 반복한다.

for문 기본구조

for 변수 in 리스트(또는 튜플, 문자열):
	수행할 문장1
    수행할 문장2
    ...
#예제(1) - for문 리스트 활용
for i in [1,2,3,4,5]:
    print(i)   
   
   
...    
    

#예제(2) - for문 튜플 활용
for i in (1,2,3,4,5):
    print(i)   


...    
    

#예제(3) - for문 문자열 활용
for i in "12345":
    print(i)
    
for i in "강아지":
    print(i)   

##range()함수: range(시작값, 종료(앞)값, 간격)
##미자막 숫자는 제외된다는 사실!!!

for i in range(1,7):
    print(i)
    
for i in range(1,7,3):
    print(i)


...    
    

#예제(4) - for문 셋 활용
for i in {1,2,3,4,5}:
    print(i)   


...    
    

#예제(5) - for문 딕션너리 활용
dic = {"a":1, "b":2, "c":3}

for i in dic:
    print(dic[i])
    
   
...    
    

#예제(6) - for문 구구단 구성
for h in range(2,10):
    print('{}단'.format(h))
    for i in range(1,10):
        print('{} x {} = {}'.format(h,i,h*i))
    print('\n')    

0개의 댓글