카테고리 없음

[Python] 정보통신산업진흥원 AI 웹개발 취업캠프 - 유데미 필수 강의 후기/기록

ha_data 2023. 8. 6. 00:41

랜덤한 값 구하기

평소에 랜덤 값 범위를 지정하는게 헷갈렸었는데 이번 강의를 통해 정리해볼 수 있었다.

from random import *
print (random()) #0.0부터 1.0 미만의 실수 출력
print(int(random()*10)) #정수 1부터 9까지 랜덤숫자 출력
print(int(random()*10+1)) #정수 1부터 10까지 랜덤숫자 출력
print(randint(1,10)) #1부터 10이하의 랜덤한 숫자 출력
print(randrange(1,10)) #1부터 10미만의 랜덤한 숫자 출력

 

문자열 표현과 포맷

#문자열 표현하기
sentence = '''hello my name is python
I can do this !
Python's favorite language is Java!''' #이대로 출력
 
a = "파이썬님의 몸무게는 70.4kg입니다."
name = "파이썬"
weight= 70.4
print(name+'님의 몸무게는'+str(weight)+'kg입니다.')
print('%s님의 몸무게는 %0.1fkg입니다.'%(name, weight))
print("{}님의 무게는 {:0.1f}kg 입니다.".format(name,weight))
print("{name}님의 무게는 {weight}kg입니다".format(name="자바",weight=70.4))

항상 헷갈렸던 포멧 표현방법! 

%d = 정수 %s = 문자 %f = 실수형을 의미한다

표현 형식
print(" %s %d %f" %(변수))
print("{} {}".format(변수))
print("{변수1} {변수2}".format(변수1=" ", 변수2=" "))

변수를 바로 넣는 것보다 한줄로 프린트할 내용을 작성할 수 있다는 점이 참 편리한 거 같다.

세 가지 방법 모두를 기억하긴 힘들 것 같고, 첫 번째 방법을 기억해두어야겠다.

 

랜덤함수와 포멧 표현방법을 사용하는 예제를 풀어보았다.

#예제
#성인이 되어서 취직한 친구들과 1년 중 두 번은 정기적으로 만나기로 하였습니다.
#조건1: 랜덤으로 뽑아야 합니다.
#조건2: 하반기(7~12)와 상반기(1~6)에 한 번씩 만나야 합니다.
#출력문: 정기모임은 상반기 x월 하반기 x월에 진행합니다.

from random import *
first = str(randint(1,6))
second = str(randint(7,12))
print('정기모임은 상반기 %s월 하반기 %s월에 진행합니다.' %(first,second))
#출력결과: 정기모임은 상반기 3월 하반기 8월에 진행합니다.

 

리스트에서 자주 사용되는 연산자들 

튜플

tuple1 = 1,2,3,4
tuple2 = ('a','b','c','d')

#튜플 더하고 곱하기
new_tuple = tuple1+tuple2
print(new_tuple) #(1, 2, 3, 4, 'a', 'b', 'c', 'd')
print(tuple2*3) #('a', 'b', 'c', 'd', 'a', 'b', 'c', 'd', 'a', 'b', 'c', 'd')
print(len(new_tuple)) #8
print(new_tuple[0]) # 1
print(new_tuple[:3]) #(1,2,3)

*튜플과 리스트의 차이점: 리스트의 안의 값은 변경가능, 튜플은 값 변경 불가능 

 

집합자료형 SET

set은 동일한 값은 하나로 취급한다. 

set1 = set("hello hellen")
print(set1) #{'n','e','h','o',' ','l'}
list1=list(set1) #['n','e','h','o',' ','l']

중복되는 문자인 h,l,e는 한 번만 출력된다. set값을 list로 바꾸면 인덱싱이나 슬라이싱이 가능하다

 

SET의 교집합, 합집합, 차집합

합집합은 '|' 와 union을 써서 구할 수 있다

set1 = set([1,2,3,4])
set2 = set([3,4,5,6,])
print(set1 | set2) #{1,2,3,4,5,6}
print(set1.union(set2)) #{1,2,3,4,5,6}

차집합은 '-' , difference로 구할 수 있다.

print(set1-set2) #{1,2}
print(set1.difference(set2)) #{1,2}

합집합은 '&', intersection로 구할수 있다.

print(set1&set2) #{3,4}
print(set1.intersection(set2)) #{3,4}

 

딕셔너리 

사전명 = {키1 : 값1, 키2 : 값2, 키3 : 값3, ...}
키 = 정수, 문자 등 가능, 리스트 불가능
값 = 리스트 가능
dic = {'a' : 1, 'b' : 2, 'c' :3 }
dic['a'] = 1
* 키하나에 값이 두 개 이상 될 경우 어떤 값을 불러와야 할지 모르기 때문에 오류 발생
#json 형식
# api = {
#     name:"에피노"
#     성별: "남자"
#     전화번호: '0100000000'
#     회원가입일자: '2020-04-03'
# }

형식은 json과 유사하다

fromkeys는 리스트나 튜플을 사전형식으로 바꿔준다.

#fromkeys
list1 = ['a','b','c','d']
tuple1 = 1,2,3,4
dic1 = {}.fromkeys(list1)
dic2 = {}.fromkeys(list1,1)
dic3 = {}.fromkeys(tuple1)
dic4 = {}.fromkeys(tuple1, 1)
print(dic1) #{'a': None, 'b': None, 'c': None, 'd': None}
print(dic2) #{'a': 1, 'b': 1, 'c': 1, 'd': 1}
print(dic3) #{1: None, 2: None, 3: None, 4: None}
print(dic4) #{1: 1, 2: 1, 3: 1, 4: 1}
#함수
dic = {'a':1, 'b':2, 'c':3}
print(dic)
print(dic['a']) # 1

#update
dic.update({'f':5})
print(dic) #{'a':1, 'b':2, 'c':3, 'f':5}

#del (삭제)
del dic['f']
print(dic)

#keys/values/items/get
print(dic.keys()) #dict_keys(['a', 'b', 'c'])
print(dic.values()) #dict_values([1, 2, 3])
print(dic.items()) #dict_items([('a', 1), ('b', 2), ('c', 3)])
print(dic.get('a')) #1

keys(), values()는 리스트 형식으로 값을 출력하고

items()는 튜플형식으로 (키,값) 을 출력한다

 

zfill은 자릿수를 설정해준다

# zfill
num = 0
while num <= 10:
    print("대기번호: "+str(num).zfill(5))
    num +=1
#00001,00002,00003,00004,....00010

3자리마다 콤마넣기

#3자리마다 콤마 1,000원
print("내월급: {0:,}원".format(2000000)) #2,000,000

 


강의를 마치며..

파이썬은 학교수업에서 매년 수강했지만 여전히 헷갈리는 부분이 많은 것 같다.

유데미 강의를 통해 그동안 헷갈렸던 튜플, 딕셔너리, 리스트 를 집중적으로 공부했다.

while, for문, 함수 같은 문법들도 다시 공부하면서 기초를 다질 수 있었던 시간이었다.

강의 내용을 다 외우지는 못하겠지만 정리해놓은 내용을 활용해 코드를 구현할 수 있을거 같다!

 

 

 

 

 

본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다. #정보통신산업진흥원 #NIPA #AI교육 #프로젝트 #유데미 #IT개발캠프 #개발자부트캠프 #프론트엔드 #백엔드 #AI웹개발취업캠프 #취업캠프 #개발취업캠프