if 조건식 : 조건에 맞을 때 수행할 문장elif 조건식 : 조건에 맞지 않을 때 수행할 문장elif 조건식 : 조건에 맞지 않을 때 수행할 문장elif 조건식 : 조건에 맞지 않을 때 수행할 문장else : 모든 조건에 맞지 않을 때 수행할 문장
name = input('이름 : ')star_cnt = 0if name=='이재찬': print('반장') star_cnt=5elif name=='이봉현' or name=='박영민' or name=='오영근': print('조장') star_cnt=3elif name=='김정윤': print('디잘잘','면잘잘') star_cnt=2else: print('평조원') star_cnt=1print(name)print('★'*star_cnt)
제어문 - 반복문 while
인덱스를 사용하지 않고 조건에 맞을 때까지 반복수행
indent로 블록 설정
while 조건식 : 반복수행문장
제어문 - 분기문
break, continue
i = 0while i<10: print(i) i+=1print('-'*50)# 분기문 : breaki = 0while i<10: if i==5: break print(i) i+=1
제어문 - 반복문 for
인덱스를 사용하여 조건에 맞을 때까지 반복수행
List, Tuple, Dictionary를 출력하는 경우
index를 사용하는 경우
for 변수명 in range(시작, 끝, 증가) : 반복수행할 코드
# 인덱스 사용 range(시작값, 끝값, 증가값)# 증가값을 사용하지 않으면 1씩 증가for i in range(1, 10): print(i)
List, Tuple 출력하는 경우
for 변수명 in list명|tuple명 : 반복수행할 코드
nameList = ['공선의','이재현','최지우','김정윤','박영민']for name in nameList: print(name)print('-'*30)nameTuple = ('공선의','이재현','최지우','김정윤','박영민')for name in nameTuple: print(name)
Dictionary 출력
for k,v in 딕셔너리명.items(): print("{0} {1}".format(k,v))
langDict = { 'java':'완벽한 OOP언어', 'HTML5':'마크업 언어', 'CSS':'디자인언어', 'JavaScript':'스크립트 언어', 'Python':'수치연산에 강한 OOP언어' }for k,v in langDict.items(): print('key={}, value={}'.format(k, v))
숫자를 거꾸로 출력할 땐 reversed 함수 사용
for i in reversed(range(1,10)): print(i)
이중 for문은 다음과 같이 사용가능
for i in range(2,9): for j in range(1,9): print('{}*{}={}'.format(i,j,i*j))
문자열 슬라이싱(Slicing)
입력값 받기 (키보드 입력)
java의 System.in.read()와 같음
변수 = input()변수 = input("보여줄 메시지")# Slicing, 문자열 자르기# List, Tuple 자르기str[시작인덱스:끝인덱스]str='안녕하세요'str[0:] # 0번째 인덱스에서 끝까지str[:끝인덱스] # 처음부터 끝인덱스까지str[1:3] # '녕하'만 잘리게 됨str[ : : -1] # reverse, 거꾸로 출력
str = 'ABCDEFG.txt'# 0123456print(str)print(str[0:]) # 시작부터 끝까지print(str[2:5]) # 특정 위치만 자르기 (CDE)print(str[:5]) # 시작부터 특정 위치까지만 자르기 (ABCDE)print(str[::-1]) # 글자 뒤집기print(str[::2]) #시작부터 특정위치(배수)의 문자만 자르기print(str[-3:]) # 뒤에서부터 특정 자리의 문자만 자르기