일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 트러블슈팅
- 잡담
- pos_tag
- 원소주
- 머신러닝
- AI
- beautifulsoup
- pandas
- 파일입출력
- Trouble shooting
- 크롤링
- aof
- auc
- Django
- IOPub
- Logistic linear
- category_encoders
- stopwords
- SMTP
- find_all()
- Roc curve
- 인공지능
- EarlyStopping
- semi-project
- json
- ML
- selenium
- PYTHON
- 이것이 코딩 테스트다
- 그리디
- Today
- Total
개발 블로그
[CODELION 강의] 일단 만드는 PYTHON 본문
이두희님이 직접 강의하신 일단 만드는 PYTHON강의에 대해 정리하겠습니다:)
대체로 기초 파이썬 강의와 비슷한 난이도이며 겹치는 부분이 꽤 많았습니다.
하지만 내용이 좀 더 깊은 느낌이었습니다.
일단 겹치는 부분은 제외하면서 궁금한 점이나 추가적으로 필요하다고 느껴지는 부분을 붙여서 글을 써보려고 합니다.
목차>
목차
01_01 집합 자료형 set
집합 자료형은 set()
함수를 통해서 만듭니다.
- 집합은 순서가 없습니다.
- 겹치는 요소가 없습니다.
- 원소의 순서를 보장하지 않습니다.
집합 자료형 연산
- 합집합 : 두집합을 합치며, 겹치는 원소를 알아서 합쳐줍니다. 합집합 연산자 : |
- 교집합 : 겹치는 원소만 뽑아냅니다. 교집합 연산자 : &
- 차집합 : 겹치는 원소를 빼줍니다. 차집합 연산자 : -
set()
함수를 사용하여 문자열이 저장된 리스트를 집합 자료형으로 만들고 문자열이 저장된 item
변수와 차집합
연산을 해봅시다!
set_dinner = set(["된장찌개","피자","제육볶음","짜장면"])
item = "짜장면"
set_dinner = set_dinner - set([item])
print(set_dinner)
이를 통해 집합자료형은 {}
중괄호로 묶인형태로 출력되는 것을 알 수 있습니다.
이때 문자열이 저장된 변수 item
을 set([item])
을 통해서 리스트로 만들고 난 후 집합 자료형으로 변환 해줘야 하는데,set(item)
이나 set(list(item))
의 경우 문자열이 한글자씩 나뉘어져서 집합의 요소로 저장됩니다.
item = "짜장면"
print("set(item) 출력 : ", set(item))
print("set(list(item)) 출력 : ", set(list(item)))
print("set([item]) 출력 : ", set([item]))
이는 문자열(str)도 리스트와 같이 한글자마다 인덱스 값을 가지는 iterable객체이기 때문입니다.
( iterable의 의미는 member를 하나씩 차례로 반환 가능한 객체를 말합니다.
예시로는 Sequence type인 list, str, tuple 등이 있습니다. )
추가적으로 빈 리스트 자료형을 선언할 때는a = list()
a = []
두 가지 방법이 같은 역할이지만, 위에서와 같이 다른 자료형을 리스트로 변환하기 위해 사용할 때는
다른 결과값을 반환할 수 있으므로 주의해야합니다.
01_02 점실 뭐드실?
리스트, 집합 자료형을 활용하여 점심 메뉴를 정하는 프로그램입니다.
기본 메뉴에 추가할 음식을 입력한 후에 메뉴에서 뺄 음식을 입력하고 남은 메뉴 중에서 랜덤으로 1개를 추천합니다.
import random
import time
lunch = ["된장찌개","피자","제육볶음","짜장면"]
while True:
print(lunch)
item = input("음식을 추가 해주세요 : ")
if item == 'q':
break
else:
lunch.append(item)
print(lunch)
set_lunch = set(lunch)
while True:
item = input("음식을 삭제 해주세요 : ")
if item == 'q':
break
else:
set_lunch = set_lunch - set([item])
print(set_lunch,"중에서 선택합니다.")
""" 5부터 1까지 1초씩 센다 """
for i in range(5,0,-1):
print(i)
time.sleep(1)
""" random.choice는 리스트 자료형에 대해서만 작동한다 """
print(random.choice(list(set_lunch)))
02_01 함수
Python에서 사용자 함수를 정의 할때는 def
를 통해 만듭니다.
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
...
def add(a, b):
return a + b
print(add(1, 2)) # 출력 : 3
함수를 정의하고 난 뒤, 함수명(매개변수)를 통해 함수를 호출함으로써 함수가 동작합니다.
03_01 [질문게시판] 딕셔너리 for문
for문의 형태 : for 변수 in 시퀀스:
딕셔너리 자료형을 for문의 시퀀스로 사용하면 for문의 변수는 딕셔너리의 key값을 가져옵니다.
따라서 for문의 변수로 딕셔너리의 key값에 대응하는 value를 수정할 수 있습니다!
total_dictionary = {}
while True:
question = input("질문을 입력해주세요 : ")
if question == 'q':
break
else:
total_dictionary[question] = "" # key가 question이고 value가 공백값인 딕셔너리 생성
for i in total_dictionary: # i는 딕셔너리의 키값을 받는다.
print(i)
answer = input("답변을 입력해주세요 : ")
total_dictionary[i] = answer # for문의 변수i를 key값으로 하여 딕셔너리 value를 대입한다.
print(total_dictionary)
03_02 [질문게시판] 리스트안에 딕셔너리 사용
이번에는 리스트안에 "질문","답변"을 key값으로 가지는 여러 개의 딕셔너리를 만들어서, 각각의 key에 대응하는 value를 입력하도록 프로그램을 만들었습니다.
total_list = []
while True:
question = input("질문을 입력해주세요 : ")
if question == 'q':
break
else:
total_list.append({"질문" : question, "답변" : ""}) #리스트에 딕셔너리를 삽입한다.
for i in total_list:
print(i["질문"]) # i는 리스트안의 딕셔너리 자체인 변수이다. 딕셔너리[key]를 통해 value를 출력한다.
answer = input("답변을 입력해주세요 : ")
i["답변"] = answer #리스트의 i번째 딕셔너리의 "답변"key에 해당하는 부분에 value를 대입한다.
print(total_list)
'Programming Language > Python' 카테고리의 다른 글
[Toy_Project] Python 웹크롤링 - EPL순위 가져오기 (0) | 2022.03.21 |
---|---|
[CODELION 강의] [심화] 같이 푸는 PYTHON - 번역기, 메일 보내기 (0) | 2022.03.18 |
[CODELION 강의] [심화] 같이 푸는 PYTHON - 오늘의 날씨 (0) | 2022.03.18 |
[CODELION 강의] [심화] 같이 푸는 PYTHON - 크롤링 (0) | 2022.03.17 |
[CODELION 강의] [기본] 같이 푸는 PYTHON (0) | 2022.03.15 |