#초기값 -> 조건식 -> 실행문 -> 증감식
<초기값>
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 변수 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')