Format / f' 익숙해지기
format
n1 = '윤범' n2 = '창엽' print('{0}이랑 {1}이는 친구이다'.format(n1, n2)) --------------------출력----------------------- 윤범이랑 창엽이는 친구이다. --------------------출력----------------------- n1 = '윤범' n2 = '창엽' print('{1}이랑 {0}이는 친구이다'.format(n1, n2)) --------------------출력----------------------- 창엽이랑 윤범이는 친구이다. --------------------출력-----------------------
f'
name='윤범' print(f'{name}이는 26살 이다') print('{0}이는 26살 이다'.format(name)) --------------------출력----------------------- 윤범이는 26살 이다 윤범이는 26살 이다
--> f'{name} 과 '{0}이는 26살이다'.format(name) 과 같은 역할임
--> f' 와 Format 자유자재로 다룰 수 있게 연습 필요할듯
Control_Flow
if
# if + while while(1): name=input() if name=='종료': print('while문을 종료합니다') exit() else: if name=='윤범': print('오윤범') elif name =='히동': print('우히동') else: print('윤범/히동 중 입력하세요') --------------------출력----------------------- --------------------출력----------------------- 입력 윤범/히동 중 입력하세요 윤범 오윤범 히동 우히동 종료 while문을 종료합니다
for
arr=[11,22,33,44,55] sum=0 for i in arr: #print(f'{i:1.0f}') print(i,end=' ') sum+=i print() print('list 합계 :',sum) --------------------출력----------------------- --------------------출력----------------------- 11 22 33 44 55 list 합계 : 165
--> for i in [11,22,33,44,55] 의 형태로 i에 list의 값들인 11 22 33 44 55 가 삽입
arr=[1,2,3,4,5] for i in range(0,len(arr)): print(i+1,'번째 수는',arr[i],'입니다') --------------------출력----------------------- --------------------출력----------------------- 1 번째 수는 1 입니다 2 번째 수는 2 입니다 3 번째 수는 3 입니다 4 번째 수는 4 입니다 5 번째 수는 5 입니다
--> Formating 보다는 확실히 이게 익숙하다
구구단
for i in range(2,10): print(i,'단') for j in range(1,10): print(i,'*',j,'=',i*j) print('-----------') --------------------출력----------------------- --------------------출력----------------------- 2 단 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 ----------- 9단까지 반복
구구단 정렬
for i in range(2,10): for j in range(1,10): #print(i,'*',j,'=',i*j) print(f'{i} X {j} = {i*j:>2}', end=' ') print() --------------------출력----------------------- --------------------출력----------------------- 2 X 1 = 2 2 X 2 = 4 2 X 3 = 6 2 X 4 = 8 2 X 5 = 10 2 X 6 = 12 2 X 7 = 14 2 X 8 = 16 2 X 9 = 18 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 3 X 4 = 12 3 X 5 = 15 3 X 6 = 18 3 X 7 = 21 3 X 8 = 24 3 X 9 = 27
:>2 -> (f' 포맷 함수를 이용한) 오른쪽 정렬
while
while True: while True: print( ''' 숫자 입력하세요 1.입력 2.검색 3.수정 4.삭제 5.종료 ''',end='') num=int(input('번호입력>> ')) if num==1: print('입력') elif num==2: print('검색') elif num==3: print('수정') elif num==4: print('삭제') elif num==5: print('종료') break else: print('\t입력오류>1~5 입력') continue --------------------출력----------------------- --------------------출력----------------------- 숫자 입력하세요 1.입력 2.검색 3.수정 4.삭제 5.종료 5 종료
별찍기
for i in range(1,6): print('*'*i) print() ## x=1 while(x<=5): print('*'*x) x+=1 print() ## for i in range(1,6): star='*'*i print(f'{star}') --------------------출력----------------------- --------------------출력----------------------- * ** *** **** ***** for i in range(1,6,1): print('*'*i) for i in range(5,0,-1): print('*'*i) --------------------출력----------------------- --------------------출력----------------------- * ** *** **** ***** ***** **** *** ** *
--> 굳이 Formating 해야할까?
def add(x,y): return x+y #print(x+y) def mul(x,y): return x*y def sum(x,y): return x-y def div(x,y): return x//y print(add(1024,2)) #add(1024,2) print(mul(1024,2)) print(sum(1024,2)) print(div(1024,2)) --------------------출력----------------------- --------------------출력----------------------- 1026 #1026 2048 1022 512
매개변수 개수 일정치 않은 경우
def adds(*args): result=0 for i in args: result+=i return result print(adds(1,2,3,4,5,6,7,8,9,10)) --------------------출력----------------------- --------------------출력----------------------- 55
--> 파라미터로 *() 동적으로 받을 수 있는 형식
/ 매개변수 개수 아무렇게나 작성하여 함수 호출 가능
함수 결과가 하나 이상일 때
def mul_and_div(x,y): return(x*y,x//y) print(mul_and_div(10,2)) res1,res2 = mul_and_div(10,2) print(res1,res2) --------------------출력----------------------- --------------------출력----------------------- (20, 5) 20 5
--> print(mul_and_div(10,2)) : 튜플 형태로 반환
--> res1,res2에 각각 값을 넣었을 때는 숫자 값으로 반환
라이프스코프
a=1 def vartest(a): a+=1 return a a=vartest(a) print(a) ---------------------구분--------------------- a=1 def vartest(): global a # 전역에 있는 a를 함수(지역)에서 가져다 쓰겠다 a+=1 vartest() print(a) --------------------출력----------------------- --------------------출력----------------------- 2 2
--> global로 선언 시 전역에 있는 a를 함수(지역)에서 가져다 쓰겠다는 의미
람다
def add(x,y): return x+y print(add(10,10)) ---------------------구분--------------------- ladd = lambda x,y : x+y print(ladd(10,10)) ---------------------구분--------------------- print((lambda x,y : x+y)(10,10)) --------------------출력----------------------- --------------------출력----------------------- 20 20 20
--> 세개모두 같은 의미 / 간결하게 표현 가능 / 근데 굳이 써야할까?