FastCampus 강의
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/b1CMw0/btrtzaOwiS2/wwsfk5kQeCIX9c3fiXeS8K/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 실습문제 1 # word_list에 들어있는 문자열 중 첫글자가 # a인 것만 뽑아서 리스트로 만들기 word_list = ['apple', 'watch', 'apolo', 'star', 'abocado'] # 리스트 내포 사용하기전 # result = [] # for word in word_list: # if word[0] == 'a': # result.append(word) # print(result) # 리스트 내포를 사용 한후 result = [i for i in word_list if i[0] == 'a'] print(result) # 실습문제 2 # ['오메가3', None, '비타민c500', None, '홍삼절편'] # ['오메가3', '', '비타민c500', '', '홍삼절편'] i..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bAAmxF/btrtrX97sa1/hQUcXUaf5jVEgcVv1NKYwk/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 리스트 # 리스트에 데이터 추가하기 # .append("데이터") # 리스트에 리스트 추가하기 # .append(['데이터', '데이터']) # 리스트에서 데이터 삭제하기 # .pop() ()안에 데이터가 없는 경우 가장 마지막 데이터가 삭제 # .pop(0) ()안에 인덱스 값을 넣으면 인덱스 값의 데이터가 삭제 #. remove(데이터) ()안에 데이터와 같은 데이터 삭제 fruits = ['apple', 'orange', 'mango'] del fruits[1] print(fruits) # 리스트 특정 값의 인덱스 구하는 방법 # .index('데이터') # 리스트 특정 값의 개수 구하는 방법 # .count('데이터') # 리스트 모든 요소 삭제 # .clear() 삭제 후에는 빈 리스트만 남..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bSdmhO/btrtoAmbpDN/MvKHyrRAypCrwRnUFqWKV1/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 문자열을 다루는 중요한 메소드 학습 # 실습문제를 풀며 메소드 활용 # 1. 소문자를 대문자로 바꾸는 방법 # .upper # 2. 대문자를 소문자로 바꾸는 방법 # .lower # !!중요!! # 3. 문자열 바꾸는 방법 # .replace("바꿀 문자", "바뀌는 문자") a = '오늘 날씨는 흐림입니다.'.replace("흐림", "맑음") print(a) # 4. 문자열 위치 찾기 # .find("문자열") -> 인덱스로 알려준다. # 없을 경우 -1로 b = 'hello world'.find("world") print(b) # 5. 문자열 개수 세는 방법 # .count("문자열") # !!중요!! # 6. 문자열 분리하는 방법 # .split() 아무것도 안적을 경우 띄어쓰기를 기준으로 c..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/brzedS/btrtmVip3bU/qr3YhXdFZhn1Gl2kBuQ2QK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 게시글 로딩하기 # data.csv 파일 있으면 게시글을 로딩 # data.csv 파일이 없으면 파일을 만든다. # 1. data.csv를 읽는다. # 2. 데이터 한 줄씩 읽고 한줄마다 Post 인스턴스를 만든다. # 3. Post 리스트에 인스턴스를 저장한다. import os import csv from post import Post # 파일 경로 file_path = "./myvenv/Chapter12/data.csv" # Post 객체를 저장 할 리스트 post_list = [] # data.csv 파일이 있다면 if os.path.exists(file_path): # 게시글 로딩 print("게시글 로딩중입니다.") # csv 파일 읽기 f = open(file_path, "r", enco..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/tic7d/btrteirBzxE/dik5750jYRn93dvGfNWdHk/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 게시글 로딩하기 # data.csv 파일 있으면 게시글을 로딩 # data.csv 파일이 없으면 파일을 만든다. # 1. data.csv를 읽는다. # 2. 데이터 한 줄씩 읽고 한줄마다 Post 인스턴스를 만든다. # 3. Post 리스트에 인스턴스를 저장한다. import os import csv from post import Post # 파일 경로 file_path = "./myvenv/Chapter12/data.csv" # Post 객체를 저장 할 리스트 post_list = [] # data.csv 파일이 있다면 if os.path.exists(file_path): # 게시글 로딩 print("게시글 로딩중입니다.") # csv 파일 읽기 f = open(file_path, "r", enco..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bDyGRq/btrs3S2xtdD/5QOkS9uXXhbMkIp0rg40W1/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 게시글 로딩하기 # data.csv 파일 있으면 게시글을 로딩 # data.csv 파일이 없으면 파일을 만든다. # 1. data.csv를 읽는다. # 2. 데이터 한 줄씩 읽고 한줄마다 Post 인스턴스를 만든다. # 3. Post 리스트에 인스턴스를 저장한다. import os import csv from post import Post # 파일 경로 file_path = "./myvenv/Chapter12/data.csv" # Post 객체를 저장 할 리스트 post_list = [] # data.csv 파일이 있다면 if os.path.exists(file_path): # 게시글 로딩 print("게시글 로딩중입니다.") # csv 파일 읽기 f = open(file_path, "r", enco..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/b1ibZF/btrs68i4A1w/eaLI7kVv5aRcQm6VwLlRaK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 게시글 로딩하기 # data.csv 파일 있으면 게시글을 로딩 # data.csv 파일이 없으면 파일을 만든다. # 1. data.csv를 읽는다. # 2. 데이터 한 줄씩 읽고 한줄마다 Post 인스턴스를 만든다. # 3. Post 리스트에 인스턴스를 저장한다. import os import csv from post import Post # 파일 경로 file_path = "./myvenv/Chapter12/data.csv" # Post 객체를 저장 할 리스트 post_list = [] # data.csv 파일이 있다면 if os.path.exists(file_path): # 게시글 로딩 print("게시글 로딩중입니다.") # csv 파일 읽기 f = open(file_path, "r", enco..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cmBlhT/btrsYczJFd7/GtG4TtJJapVPfo5JchTAWK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# raise 구문으로 에러 발생 try: num = int(input("음수를 입력해주세요 >>")) if num >=0: raise ValueError("양수는 입력 불가") except ValueError as e: print("에러 발생", e) # 에러 만들기 class PositiveNumberError(Exception): def __init__(self): super().__init__("양수는 입력불가합니다.") try: num = int(input("음수를 입력해주세요 >>")) if num >=0: raise PositiveNumberError except PositiveNumberError as e: print("에러 발생", e) 클래스, 파일 입출력, 모듈, 예외처리, 함수, 반..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/qBboJ/btrsSbOSYJP/KDAbkz9T8Zs8LfvFyQ5Jq1/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 실습문제 1 # 오류 해결 과정 중심으로 풀이 import csv def show_profit(data): name = data[0] # 종목 purchase_price = int(data[1]) # 매입가 amount = int(data[2]) # 수량 target_price = int(data[3]) #목표가 profit = (target_price - purchase_price) * amount # 수익금 profit_ratio = (target_price/purchase_price -1) * 100 # 수익률 print(f"{name} {profit} {profit_ratio:.2f}") # 1. 파일 열기 file = open("./myvenv/Chapter10/mystock.csv", "r..