728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 33: 데이터 저장

  • CSV 파일로 데이터 저장 (pandas.to_csv).
  • 실습: 가져온 코인 데이터를 로컬 파일에 저장하는 프로그램 작성.

1. 목표

✅ API에서 가져온 코인 데이터를 CSV 파일로 저장
✅ pandas 라이브러리를 활용하여 데이터를 테이블 형태로 정리
✅ CSV 파일을 저장한 후, 엑셀에서 열어 확인 가능

 

우선 이렇게 진행을 하였다. 

 

3. 코드 설명

  1. requests.get()으로 API에서 비트코인, 이더리움, 도지코인의 최근 7일간 가격 데이터를 가져옴.
  2. datetime.datetime.fromtimestamp(timestamp, datetime.UTC)를 사용해 UNIX 타임스탬프를 사람이 읽을 수 있는 날짜로 변환.
  3. 데이터를 [코인 이름, 날짜, 가격] 형식으로 리스트에 저장.
  4. pandas.DataFrame()을 사용해 데이터를 테이블 형태로 정리.
  5. .to_csv("crypto_prices.csv", index=False, encoding="utf-8")로 CSV 파일로 저장.

그 후 어디에 저장 되었는지

알 수 있는 코드를 사용한다.

찾아서 확인 해보았다.

 

매우 잘된 모습을 볼 수 있다.

 

python 내에서 확인할 수도 있다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 32: API 활용 실습

  • Python의 requests 라이브러리 사용.
  • 실습: API를 활용해 특정 기간의 가격 데이터를 가져오는 프로그램 작성.

1. 목표

  • requests 라이브러리를 사용해 API 데이터를 가져오기.
  • 특정 기간 동안의 비트코인 가격 데이터를 수집.
  • JSON 데이터 분석 및 시각화를 위한 준비.

2. CoinGecko API 활용 (기간별 가격 데이터 가져오기)

CoinGecko의 /market_chart API를 사용하면 특정 기간 동안의 가격 데이터를 가져올 수 있음.


API 엔드포인트:

 

요청 파라미터:

  • id: 암호화폐 ID (예: bitcoin, ethereum 등)
  • vs_currency: 원하는 통화 (예: usd, krw 등)
  • days: 가져올 기간 (예: 1, 7, 30, max 등)
  • interval: 데이터 간격 (minutely, hourly, daily 등)

오늘의 실습이다.

 

쉽게 쉽게 해보자.

 

코드 설명

  1. API 요청을 위한 URL 및 파라미터 설정
    • vs_currency="usd" → 가격 정보를 USD 기준으로 가져옴.
    • days="7" → 최근 7일 동안의 데이터를 요청.
    • interval="daily" → 하루 단위로 가격 정보 제공.
  2. HTTP 요청 보내기
    • requests.get(url, params=params)를 이용해 GET 요청을 보냄.
  3. 응답 데이터 파싱
    • response.json()을 사용해 JSON 데이터를 Python 딕셔너리로 변환.
    • 가격 데이터는 prices 키에 저장됨.
    • prices는 [ [타임스탬프, 가격], [타임스탬프, 가격] ] 형태의 리스트.
  4. 가격 데이터 출력
    • for 문을 사용해 각 날짜의 가격을 출력.

결과를 확인하자

 

가격이 차이가 많이 난다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 31: API 기본

  • HTTP 요청 이해: GET, POST, PUT, DELETE.
  • JSON 데이터 구조.
  • 실습: CoinGecko API를 통해 비트코인 가격 정보 가져오기.

1. HTTP 요청 이해

HTTP 요청 방식은 클라이언트(우리의 프로그램)와 서버(API 서버) 간의 데이터를 주고받는 방법.

  • GET: 데이터를 요청 (가져오기).
  • POST: 데이터를 서버에 전송 (저장/업데이트).
  • PUT: 기존 데이터를 수정.
  • DELETE: 데이터를 삭제.

2. JSON 데이터 구조

JSON(JavaScript Object Notation)은 서버와 클라이언트 간에 데이터를 주고받기 위한 경량 데이터 포맷.

  • JSON 데이터 예:

 

Python에서는 JSON 데이터를 dict와 같은 방식으로 다룰 수 있음.

 

3. CoinGecko API 사용하기

CoinGecko는 무료로 암호화폐 데이터를 제공하는 API를 제공합니다.

오늘의 실습이다.

 

간단해 보인다.

 

간단하게 프로그램을 만들었다.

 

결과도 잘 나왔다.

 

코드 설명을 하겠다.

코드 설명

  1. requests.get(url, params=params)
    • API에 GET 요청을 보냄.
    • params는 추가로 전송할 데이터(여기선 코인 ID와 통화).
  2. response.status_code
    • HTTP 요청의 응답 상태를 확인.
  3. response.json()
    • 응답 데이터를 JSON 형식으로 파싱.

이제 part2의 시작이다. 지금 예상해 보면 part4까지 할 것 같다. 

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

학습을 시작한 지 한 달이 되었다. 아직 읽어주는 사람은 많지 않지만 끝까지 달려보겠다.

 

Day 29~30: 프로젝트: 간단한 계산기 확장 (2)

  • 지금까지 배운 모든 개념을 활용해 다양한 연산 기능(예: 소수 판별, 팩토리얼 계산 등)을 가진 계산기 프로그램 작성.

Day 30: 고급 기능 추가 및 최종 완성

1. 목표

  • 새로운 연산 기능 추가.
    • 소수 판별.
    • 팩토리얼 계산.
    • 숫자 제곱.
  • 메뉴를 확장하고 최종 계산기 완성.

(1) 소수 판별

  • 숫자가 소수인지 확인하는 함수.

 

(2) 팩토리얼 계산

  • 숫자의 팩토리얼을 계산하는 함수.

 

(3) 제곱 연산

  • 숫자의 제곱을 계산하는 함수.

 

이렇게 여러가지 기능을 추가할 것이다.

오늘의 실습내용이다.

 

 

보이는 것은 복잡해 보인다. 하지만 잘 보면 간단하다. 시작하자.

 

먼저 계산기 프로그램이다.

 

계산기를 편하게 만들어주고 완성시켜주는 프로그램이다. 배보다 배꼽이 더 크다.

 

첫 번째 잘되었다.

두 번째도 잘 되었다.

 

 

마무리까지 잘되었다.

 

이제까지 part1이였다면 이제부터는 part2 시작이다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 27~28: 탐색 알고리즘 (2)

  • 선형 탐색, 이진 탐색.
  • 실습:
    • 정렬된 리스트에서 이진 탐색으로 특정 숫자 찾기.

 

Day 28: 이진 탐색

2. 이진 탐색 (Binary Search)

  • 개념: 정렬된 리스트에서 중앙값을 기준으로 탐색 영역을 절반으로 줄여가며 값을 찾습니다.
  • 시간 복잡도:
    • 최선/평균/최악: O(log⁡n)O(\log n).
  • 특징: 리스트가 반드시 정렬되어 있어야 사용 가능.

알고리즘:

  1. 리스트의 중간값과 목표값을 비교.
  2. 목표값이 중간값보다 작으면 왼쪽 절반, 크면 오른쪽 절반에서 탐색.
  3. 값을 찾거나 리스트의 범위가 없어질 때까지 반복.

오늘의 실습 내용이다.

 

  • 정렬된 리스트에서 이진 탐색으로 특정 값을 찾는 프로그램 작성.
  • 재귀 방식과 반복문 방식을 비교.
  • 사용자가 입력한 값으로 탐색 실행.

먼저 재귀방식과 반복방식의 프로그램을 만들어야 한다.

 

 

이게 재귀방식 프로그램이다.

 

 

이건 반복방식이다.

 

 

설정한 숫자들과 필요한 값들을 출력해주는 프로그램을 만들어주었다.

 

 

그 후 내가 찾고자하는 숫자를 입력하면 내가 원하는 내용이 출력된다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 27~28: 탐색 알고리즘 (1)

  • 선형 탐색, 이진 탐색.
  • 실습:
    • 정렬된 리스트에서 이진 탐색으로 특정 숫자 찾기.

 

Day 27: 선형 탐색

1. 선형 탐색 (Linear Search)

  • 개념: 리스트의 처음부터 끝까지 순차적으로 탐색하며 값을 찾음.
  • 시간 복잡도:
    • 최선: O(1) (찾는 값이 리스트의 첫 번째 위치에 있을 때).
    • 최악: O(n) (찾는 값이 리스트에 없거나 마지막에 있을 때).
  • 특징: 정렬 여부와 관계없이 사용 가능.

 

오늘의 실습 내용을 보여주겠다.

 

간단하게 프로그램을 만들어 보자

 

이젠 이 정도는 어렵지 않다.

 

 

결과도 원하는 결과가 잘 나왔다.

오늘은 이만 

 

읽어주셔서 감사하다.

 
 
반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 25~26: 정렬 알고리즘 (2)

  • 버블 정렬, 선택 정렬, 삽입 정렬.
  • 실습:
    • 숫자 리스트를 입력받아 정렬하는 프로그램 작성.

Day 26: 삽입 정렬

3. 삽입 정렬 (Insertion Sort)

  • 개념: 정렬된 부분과 비교하며 적절한 위치에 삽입하여 정렬합니다.
  • 시간 복잡도:
    • 최선: O(n)O(n) (정렬된 경우).
    • 최악: O(n2)O(n^2) (역순으로 정렬된 경우).

알고리즘:

  1. 두 번째 요소부터 시작하여 정렬된 부분과 비교.
  2. 적절한 위치에 삽입.
  3. 끝까지 반복.

 

이것도 직접 해보겠다.

 

바로 실습 들어가겠다.

실습:

  1. 버블, 선택, 삽입 정렬 중 가장 빠른 알고리즘을 확인하는 비교 프로그램 작성.

 

 

2일간 배운 3가지의 정렬 방식의 속도를 비교해 보았다.

 

선택 정렬의 속도가 가장 빨랐다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

새해 복 많이 받으시길 바랍니다.

Day 25~26: 정렬 알고리즘 (1)

  • 버블 정렬, 선택 정렬, 삽입 정렬.
  • 실습:
    • 숫자 리스트를 입력받아 정렬하는 프로그램 작성.

 

Day 25: 버블 정렬과 선택 정렬

1. 버블 정렬 (Bubble Sort)

  • 개념: 인접한 두 요소를 비교하여 순서가 맞지 않으면 교환하며 정렬합니다.
  • 시간 복잡도:
    • 최선: O(n)O(n) (정렬된 경우).
    • 최악: O(n2)O(n^2) (역순으로 정렬된 경우).

알고리즘:

  1. 리스트의 첫 번째 요소부터 마지막 요소까지 인접한 두 값을 비교.
  2. 크기가 맞지 않으면 교환.
  3. 리스트 끝까지 반복.

 

따라 해 보았다.

 

2. 선택 정렬 (Selection Sort)

  • 개념: 리스트에서 가장 작은 값을 찾아 첫 번째 위치와 교환하며 정렬합니다.
  • 시간 복잡도: O(n2)O(n^2) (모든 경우).

알고리즘:

  1. 리스트에서 최솟값을 찾아 첫 번째 요소와 교환.
  2. 남은 부분에서 반복.

 

 

잘 되는 것 같다. ㅎㅎ

 

실습과제 : 입력받은 숫자 리스트 정렬 프로그램

 

 

프로그램을 만들고 확인해 보았다.

 

실수해서 10이 아닌 0을 넣었다. 그래도 잘되어서 다행이다.

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 22~24: 데이터 구조 기초 (3)

학습 목표

3일 동안 기본적인 데이터 구조를 배우고, 이를 활용해 스택을 사용한 괄호 유효성 검사 프로그램을 작성.

 

대망의 3일 차이다.

Day 24: 스택을 사용한 괄호 유효성 검사

문제 설명

주어진 문자열에서 괄호의 짝이 올바른지 확인하는 프로그램을 작성.
유효한 괄호란 다음 조건을 만족:

  1. 열리는 괄호 (가 있으면, 반드시 닫는 괄호 )로 짝이 맞아야 함.
  2. 괄호는 올바른 순서로 배치되어야 함.

알고리즘

  1. 문자열을 한 글자씩 순회.
  2. 열린 괄호는 스택에 추가.
  3. 닫힌 괄호가 나오면 스택의 최상단 요소와 비교.
  4. 유효한 문자열이라면 모든 괄호가 처리된 후 스택이 비어 있어야 함.

 

우선 문제를 해결해 보았다.

추가로 문제에 조건들을 더 넣어보겠다.

  1. 프로그램을 확장해 {}, [] 같은 다양한 괄호도 처리 가능하도록 수정.
  2. 문자열에서 괄호 외의 문자도 포함되어 있을 때 동작하도록 추가.

 

괄호들만 검사하기 때문에 해결이 잘된 모습을 보인다.

오늘은 이만 

 

읽어주셔서 감사하다.

반응형
728x90
반응형

ChatGPT를 이용하여 코딩 공부를 해보려 한다. 

100일 동안 공부하고 기록할 것이다. 

많이 읽어주시고 항상 감사하다. (훈수는 항상 환영한다.)

 

Day 22~24: 데이터 구조 기초 (2)

학습 목표

3일 동안 기본적인 데이터 구조를 배우고, 이를 활용해 스택을 사용한 괄호 유효성 검사 프로그램을 작성.

Day 23: Dictionary와 Set

1. Dictionary

  • Key-Value 쌍으로 데이터를 저장.
  • 빠른 데이터 검색, 추가, 삭제가 가능.

2. Set

  • 중복이 없는 요소들의 집합.
  • 주요 연산:
    • 합집합(|), 교집합(&), 차집합(-).
     

 

실습 : 학생 점수를 딕셔너리에 저장하고 평균 점수를 구하는 프로그램 작성.

 

오늘의 내용은 지난 7일 차에 했던 것을 복습하는 내용이었다. 앞으로 더 기대해 주시고 오늘은 간단히 끝내겠다. 

 

오늘은 이만 

 

읽어주셔서 감사하다.

반응형

+ Recent posts