포트폴리오의 전반적인 위험을 줄일 수 있는 방법으로 상관관계가
낮은 자산으로 포트폴리오를 구성한다. 회귀 분석을 통하여
상관관계를 분석하여 상관계수를 구한다.

 

이번 예제 실습 중 미국 국채와(TLT) KOSPI(^KS11)의 회귀 분석이
있는데 TLT의 자료가 책에 그려진 그래프와는 다른 거 같다.
그렇지만 상관 계수는 얼추 비슷하게 나왔다.

 

해당 자산을 지수화 ->
사이파이를 이용하여 선형 회귀 분석 ->
상관 계수 구하기(데이터프레임, 시리즈로)->

결정 계수 구하기

 

코드로 작성하는 건 어렵지 않다.
단어에 대한 이해가 필요한 부분이다.
앞으로도 더욱 더 이해가 많이 필요할 거 같다.

3.6 회귀 분석과 상관관계
3.6.1 KOSPI와 다우존스 지수 비교 
3.6.2 지수화 비교
3.6.3 산점도 분석
3.6.4 사이파이 선형 회귀 분석 .....
3.6.5 선형 회귀 분석

3.7 상관계수에 따른 리스크 완화
3.7.1 데이터프레임으로 상관계수 구하기
3.7.2 시리즈로 상관계수 구하기
3.7.3 결정계수 구하기
3.7.4 다우존스 자수와 KOSPI의 회귀 분석
3.7.5 상관계수에 따른 리스크 완화

 

이전글 - 2021/02/01 - [책들] - 파이썬 증권 데이터 분석 3.4 주식비교하기 ~ 153p

이후글 - 2021/02/07 - [책들] - [파이썬 증권 데이터 분석] 4. 웹 스크레이핑을 사용한 데이터 분석 191p

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

일정 기간의 시세를 기본으로 일간 변동률과 누적 수익률을 구한다.
야후 파이낸스(yfinance) 라이브러리를 이용하여 해당 종목의
시세를 구할 수 있다.

 

책에서는 누적 수익률을 인간 변동률의 누적합으로 되어 있으나, 누적곱으로
구해야 한다. 관련 오류는 해당 책 오탈자 부분에 자세하게 나와 있다.

 

아래는 '삼성전자'와 '마이크로소프트'의
2018년부터 지금까지 누적수익률 그래프다.

 

마소가 대단하긴 대단한가 보다!

 

 

파이썬 증권 데이터 분석

이 책은 웹 스크레이핑으로 증권 데이터를 주기적으로 자동 수집, 분석, 자동 매매, 예측하는 전 과정을 파이썬으로 직접 구현한다. 그 과정에서 금융 데이터 처리 기본 라이브러리(팬더스)부터

www.hanbit.co.kr

 

Learning pandas - Second Edition

Calculating simple daily cumulative returns of a stock The simple cumulative daily return is calculated by taking the cumulative product of the daily percentage change. This calculation is represented by … - Selection from Learning pandas - Second Editio

www.oreilly.com

 

실습 동영상

이전글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

이후글 - 2021/02/02 - [책들] - 파이썬 증권 데이터 분석 3.6 회귀 분석과 상관관계 ~ 171p

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

Numpy & Pandas & Matplotlib은 데이터들을
쉽고, 빠르게, 시각적으로 다룰 수 있게 해주는 라이브러리다.

 

책에 있는 내용들은 기본 중에 기본이기 때문에 아래 문서들을
한 번씩 훑어보기에는...... 그래서 책에 있는 기초적인
부분에 집중하기로 했다.

책에 있는 기본적인 내용을 보고 문서들을 본다면

어렵지 않게 라이브러리들을 볼 수 있을 거 같다.

 

아래는 142p까지의 예제 실습 동영상! 예전에 numpy를
해본 적이 있어서 pandas도 어렵지 않게 슥~

 

 

 

 

matplotlib.org/contents.html

 

Overview — Matplotlib 3.3.3 documentation

 

matplotlib.org

pandas.pydata.org/docs/

 

pandas documentation — pandas 1.2.1 documentation

API reference The reference guide contains a detailed description of the pandas API. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

pandas.pydata.org

matplotlib.org/3.1.1/users/index.html

 

User's Guide — Matplotlib 3.1.2 documentation

 

matplotlib.org

CHAPTER 3 팬더스를 활용한 데이터 분석
3.1 넘파이 배열
3.1.1 배열 생성 
3.1.2 배열 정보 보기 
3.1.3 배열의 접근
3.1.4 배열 형태 바꾸기
3.1.5 배열의 연산
3.1.6 브로드캐스팅
3.1.7 내적 구하기

3.2 팬더스 시리즈
3.2.1 시리즈 생성
3.2.2 시리즈의 인덱스 변경
3.2.3 데이터 추가 
3.2.4 데이터 인덱싱 
3.2.5 데이터 삭제 
3.2.6 시리즈 정보 보기
3.2.7 시리즈 출력하기

3.3 팬더스 데이터프레임
3.3.1 딕셔너리를 이용한 데이터프레임 생성
3.3.2 시리즈를 이용한 데이터프레임 생성
3.3.3 리스트를 이용한 데이터프레임 생성
3.3.4 데이터프레임 순회 처리

 

이전글 - 2021/01/29 - [책들] - [파이썬 증권 데이터 분석] 시작하며 ~121p

이후글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,
개발 환경
윈도우 10,  크롬, 마리아디비, 파이썬 및 IDLE 64bit & 32Bit, 팬더스, 뷰티플 수프, 장고, 텐서플로

파이썬 32bit를 사용하는 이유가 증권사 COM방식의 API를 사용하기 위해서 32bit를 사용한다. 더불어 가상 환경(venv) 를 이용하여 각각의 버전을 설치하여 사용한다. 아나콘다와 주피터 노트북을 이용해도 될 듯.

 

책에 클래스에 대한 설명이 있다. '틀'에 빗대어 설명을 했는데, 책에도 설명한 설계도(blueprint)로 생각하면 좋겠다.

 

cmd vs powershell

powershell이 나온지도 꽤 오래 됐다. 그 동안 cmd만 사용했는데, 이 책은 powershell을 이용해야 겠다. 참고로 관리자 권한으로 powershell를 실행하고, 실행권한을 Unrestricted로 변경해야 권한에러를 해결 할 수 있다.

 

Set-ExecutionPolicy Unrestricted

 

아래 동영상은 책에 나온 예제 실습 동영상이다.
파이썬 언어의 기본적인 것들은 빼고 121p까지의 예제 중에
필요한 부분만 동영상으로 만들었다.

예제 실습 동영상

이전글 -

이후글 - 2021/01/31 - [책들] - [파이썬 증권 데이터 분석] Numpy, Pandas, Matplotlib ~ 142p

 

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

이번에 볼 책들

 

며칠 전에 '워드프레스' 책 체험단 신청했는데 안됐다.
인터넷 검색해서 하면 그래도 어느 정도는
할 수 있지만, 조금 빠르게 체계적으로 입문하려고
책을 구매했다. 

 

홍마리오의 워드프레스 입문 + 실전(종합편) 유형별 4가지 웹사이트 만들기 + SEO·웹사이트 수정

홍마리오의 워드프레스 입문+실전(종합편) 책은 4가지 유형의 웹사이트를 직접 제작한 후 그 웹사이트가 잘 검색되도록 SEO(검색엔진최적화) 실습과 사이트 튜닝 실습을 친절하게 설명했다.이 책

www.yes24.com

 

또 다른 책을 구입을 했다. 파이썬을 배웠는데 딱히 뭔가 없다.
그래서 그 뭔가를 해보려고 '파이썬 증권 데이터 분석' 책을
구매했다. 분석 책이기 때문에 단지 파이썬을 배우고자
이 책을 선택을 한다면 안된다. 데이터 분선을 위한 툴로
파이썬을 사용한 것뿐이기 때문이다.

 

파이썬 증권 데이터 분석

투자 기법과 프로그래밍 기술로 자신만의 퀀트 투자 시스템을 완성하라『파이썬 증권 데이터 분석』은 웹 스크레이핑으로 증권 데이터를 주기적으로 자동 수집, 분석, 자동 매매, 예측하는 전

www.yes24.com

 

두 책으로 얼마 동안은 정신없이 보낼 듯.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

<책 표지>



서평 등록일이 내일까지 인데 오늘에서야 코딩 및 결과 확인이 마무리 됐다^^. 무료 동영상 강의 제공은 확인을 하지 못해서 아쉽다.


큰 빵을 한꺼번에 먹으려면 힘들다. 한꺼번에 먹는 사람도 있지만, 대부분은 아니다. 개인적으로 크게 한번에 설명하는 것 보다는 큰것을 작게 나누어 여러번 설명하는 방식을 좋아한다. 왜냐하면, 어려워 보이는 것도 쉽게 이해 할 수 있고 사소한 차이도 알 수 있기 때문이다. '진짜 코딩하며 배우는 파이썬' 제목처럼 이 책은 그렇게 되어 있다. 완벽하게 파이썬에 대해서는 알 수 없지만, 책을 다 보고 난 후에는 재미를 느끼며 뭔가 더 할 수 있는 것들을 생각하게 될것이다. 나 같은 경우는 텍스트로 되어진 부분을 그림으로 표시 한다 던지! 텍스트 끝말잇기가 아닌 음성 끝맛잇기 게임을 만든다든지!



위 사진의 내용처럼 이 책은 파이썬 고급 주제로 맘스터치, 바리스타 프로그램을 만들고 응용한다. 파이썬의 기본적인 내용을 먼저 설명하고 코딩하는 것이 아닌, 필요한 부분을 설명하고 프로그램 완성하는 방식이다. 거기에 맛보기 수준으로 openCV를 이용한 영상 인식과 구글 speech로 음성인식을 위해 구글 클라우드 플랫폼을 사용하는 방법을 누구나 따라 할 수 있도록 잘 설명되어 있다. 인터넷에 찾아보면 코드들이 널려 있겠지만, 흥미로운 주제인 만큼 관련된 경험이 없다면, 책을 통해서 접해 보길 적극 추천 한다.


책에선 파이썬 최신버전, IDLE, NOTEPAD++, PyCharm이용 하였지만, Visual Studio Code를 이용하여 파이썬 및 hexadump 확장 기능을 이용하여 어려움 없이 책의 코드를 실행하고 결과를 확인 했다.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

체험단 페이지 바로 가기 *



인공지능이라는 흥미로운 주제를 이용하여 코딩을 배우는 것임을 목차를 통하여 알 수 있다. 더블어 무료 동영상 강의가 제공 되니 혼자서로 충분히 책을 볼 수 있을거라 생각 된다. ^^ 관심이 있으면 바로 신청! 오늘 5시까지! 신청






목차

Chapter 01 파이썬 살펴보기

01_ 파이썬 기본기 다루기

01-1 파이썬이란 무엇인가?
01-2 파이썬은 유용한가?
파이썬은 쉽다
파이썬은 강력하다!
파이썬은 라이브러리가 강력하다!

02 _ 파이썬 개발환경 구성하기
02-1 파이썬 설치하기
02-2 파이썬 실습 환경 설정하기
IDLE 실행하기
파이썬 셀에 직접 명령 줘보기
파이썬 프로그램 작성하기
파이썬 프로그램 저장하기 1
파이썬 실습 디렉터리 생성하기
파이썬 프로그램 저장하기 2
파이썬 프로그램 실행하기
02-3 파이썬 기본 코드 살펴보기


Chapter 02 파이썬 기본 문법 익히기

01 _ 파이썬 말하기 : print

01-1 print 함수 사용해 보기
01-2 파이썬 오류 대처하기
문법 오류 발생시켜 보기
이름 오류 발생시켜 보기
들여쓰기 문법 오류 발생시켜 보기
01-3 문자열, 숫자 출력하기
줄 번호 표시하기
01-4 변수 사용해 보기
01-5 형식 문자열 사용하기
01-6 한 줄에 출력하기
01-7 변수 값 바꿔보기
01-8 str.format 함수 사용해 보기

02 _ 파이썬의 무한 반복 : while True
02-1 같은 동작 무한 반복하기
02-2 파이썬은 얼마나 빠를까?
02-3 한 줄로 출력하고 싶은데 어떻게 하지?
02-4 천천히 일 시키기 : time.sleep
02-5 파이썬 수행 속도 측정하기
라즈베리파이 파이썬 실행 속도
C언어 수행 속도 측정하기
02-6 파이썬 오류 발생 시켜보기
문법 오류 발생시켜 보기 1
들여쓰기 문법 오류 발생시켜 보기
이름 오류 발생시켜 보기
문법 오류 발생시켜 보기 2

03 _ 프로그램 맛보기
03-1 프로그램 이란?
03-2 컴퓨터 프로그램 이란?
03-3 프로그램의 형식
신라면 끓이는 법 : 순서를 붙여 레시피 정리하기
03-4 프로그램의 구성 요소 : 동작과 대상
유사 코드 작성하기
실제 코드 작성하기
03-5 파이썬 프로그램 용어 정리
프로그램 구성 요소
문장 구성 요소와 프로그램 구성 요소 비교
03-6 커피 타는 프로그램 작성해 보기

04 _ 함수와 변수 이해하기
04-1 정수 변수와 함수
함수 정의하고 사용해 보기
04-2 실수 변수와 함수
함수 정의하고 사용해 보기
04-3 둘 이상의 함수 인자
함수 정의하고 사용해 보기
04-4 둘 이상의 함수 반환 값
함수 정의하고 사용해 보기
04-5 함수의 형식

05 _ 값, 객체, 변수 할당 이해하기
05-1 값 살펴보기
05-2 값의 형태 살펴보기 : type
05-3 객체의 주소 살펴보기 : id
05-4 객체의 크기 살펴보기 : sys.getsizeof
05-5 변수와 객체의 관계 살펴보기
05-6 변수에 변수 값 할당하기
정수 변수 할당하기
실수 변수 할당하기
05-7 변수 값 변경해 보기


Chapter 03 바리스타 프로그램 만들며 실력 키우기

01 _ 파이썬 기초 다지기

01-1 프로그램 기능 정의하기
01-2 파이썬의 화면 출력 : print
01-3 프로그램의 지속 실행 : while True
01-4 예외 처리 : try~except
01-5 작업 순서 정하기 : 주석
여러 줄 주석
01-6 메뉴 보여주기 : print
01-7 사용자 입력 받기 : input
01-8 사용자 입력 처리 : if~elif~else
01-9 프로그램 종료 : if, break
01-10중간 결과 파일(1)

02 _ while, if, break 정리하기
02-1 while 문 : 계속해서 반복해!
02-2 if 문 : 이 경우는 이거해!
02-3 while 문 실행해 보기
02-4 whie True 문 실행해 보기
02-5 while 문의 형식
02-6 if 문의 형식
02-7 맘스터치 프로그램 작성해보기(1)

03 _ 파이썬 중급 도약하기
03-1 프로그램 정리하기 : 함수
주요 함수 추가하기
show_menu 함수 완성하고 호출하기
get_order 함수 완성하고 호출하기
process_order 함수 완성하고 호출하기
처리 함수 추가하기
처리 함수 구현하고 호출하기
03-2 중간 결과 파일 (2)
03-3 맘스터치 프로그램 작성해보기 (2)
03-4 메뉴의 일반화 : 목록과 for~in 문
변수 추가하기
목록으로 변수 정리하기
for~in 문으로 동작 정리하기
for 문에 목록 변수 사용하기
듀플 사용해 보기
사전 사용해 보기
사전 정렬하기
03-5 처리 일반화 : 함수 참조
함수 값 변수 생성하기
함수 값 목록으로 정리하기
메뉴 처리 동작 일반화하기
듀플 사용해 보기
사전 사용해 보기
03-6 중간 결과 파일 (3)
03-7 맘스터치 프로그램 작성해보기 (3)

04 _ 목록, for~in 정리하기
04-1 for~in : 여기부터 저기까지 반복해!
04-2 range 사용하기
04-3 for~in 문 실행해 보기
04-4 큰 목록 초기화 방법
04-5 목록 안에서 for~in 문 사용하기
04-6 for~in 문의 형식

05 _ 목록, 튜플, 제너레이터 이해하기
05-1 목록과 튜플의 관계
목록, 튜플 확인하기
목록, 튜플 항목 추가해 보기
함수에서의 튜플 살펴보기
튜플 항목 값 변경해 보기
목록과 튜플 항목 값 출력해 보기
05-2 목록과 제너레이터의 관계 : type
목록, 생성기 확인하기
목록, 생성기 항목 늘려 보기
목록, 생성기 출력하기
목록과 생성기 항목 값 출력해 보기
05-3 제너레이터 함수
생성기 확인하기
생성기 출력하기
생성기 항목 값 출력해 보기
생성기 함수의 수행 살펴보기
while 문을 수행하는 생성기 함수
생성기 함수 풀어보기


Chapter 04 바리스타 프로그램 확장시키며 실력 높이기

01 _ 파이썬 고급 안착하기

01-1 명령 프롬프트에서 파이썬 실행하기
01-2 main과 module로 분리하기
01-3 sys.argv 이해하기
sys.argv 출력해 보기
for 문으로 sys.argv 항목 출력해 보기
sys.argv[0] 경로명 출력해 보기
01-4 명령행 인자로 모듈 받기
IDLE에서 파이썬 프로그램에 인자 넘기기
01-5 문자열 인자 함수로 넘기기
barista_module.py 파일 복사해 오기
카페라떼 만드는 법 : 순서를 붙여 레시피 정리하기
유사 코드 작성하기
실제 코드 작성하기
01-6 중간 결과 파일 (4)
01-7 맘스터치 프로그램 작성해보기 (4)
01-8 목록 인자 함수로 넘기기
01-9 중간 결과 파일 (5)
01-10 맘스터치 프로그램 작성해보기 (5)
01-11클래스와 객체 이해하기
01-12클래스 객체 인자 함수로 넘기기
빈 함수, 빈 클래스 정의하기
클래스 정의하고 사용하기 - Coffee, Mug
클래스 정의하고 사용하기 - Milk, Frother
클래스 정의하고 사용하기 - Sugar
01-13 중간 결과 파일 (6)
01-14 맘스터치 프로그램 작성해보기 (6)
01-15 클래스 정리하기 : 상속
01-16 중간 결과 파일 (7)

02 _ 함수 인자 살펴보기
02-1 단일 값 변수 함수 인자 살펴보기
단일 값 변수 인자와 매개 변수의 관계
locals 함수로 지역 변수 확인하기
매개변수 값 변경 이해하기
매개변수 이름 변경해 보기
Id 함수로 객체 주소 확인하기
02-2 목록 값 변수 함수 인자 살펴보기
목록 값 변수 인자와 매개 변수의 관계
locals 함수로 지역 변수 확인하기
매개 변수를 통한 목록 항목 값 변경 살펴보기
매개변수 이름 변경해 보기
Id 함수로 객체 주소 확인하기
02-3 객체 값 변수 함수 인자 살펴보기
클래스 객체 값 변수 인자와 매개 변수의 관계
locals 함수로 지역 변수 확인하기
pprint 라이브러리 활용하기
매개변수 이름 변경해 보기
매개변수를 통한 객체 속성 값 변경 살펴보기
02-4 self 매개변수 이해하기

03 _ 바리스타 프로그램 확장하기
03-1 메뉴와 레시피 변경하기 : 사전 이용하기
03-2 커피 하나 이상 주문 받기
03-3 잘못된 주문 처리하기
03-4 커피 값 계산하기
03-5 주문 목록 주고받기
03-6 커피 하나 이상 만들기
03-7 커피 준비하기
03-8 커피 내놓기
03-9 최종 결과 파일


Chapter 05 인공지능 라이브러리 활용하기

01 _ 이미지로 얼굴 인식하기

01-1 opencv-python 설치하기
01-2 이미지 읽고 보여주기
01-3 흑백 이미지로 바꾸기
01-4 얼굴 인식하기
Hear Cascade 머신 러닝 필터 파일 가져오기
얼굴 인식하기
01-5 눈 인식하기

02 _ PyCharm 개발 환경 구성하기
02-1 파일참 설치하기
02-2 파이썬 실습 환경 설정하기
파이참 실행하기
파이썬 프로젝트 생성하기
파이썬 파일 생성하기
파이썬 프로그램 작성하기
파이썬 프로그램 실행하기
파이썬 프로그램 종료하기
02-3 opencv-python 설치하기

03 _ 카메라로 얼굴 인식하기
03-1 웹캠 영상 읽고 출력하기
03-2 웹캠 영상 저장하기
함수 호출과 *인자 살펴보기 : *‘DIVX’
03-3 파일 영상 읽고 출력하기
03-4 웹캠 영상 얼굴 인식하기

04 _ 음성 녹음하고 재생하기
04-1 pyaudio 설치하기
04-2 음성 녹음하고 재생하기 : Blocking Mode
음성 녹음하기
녹음 재생하기
04-3 wave 파일 구조 살펴보기
표준 wave 파일 구조
notepad++ 편집기 설치하기
output.wav 파일 살펴보기
04-4 음성 녹음하고 재생하기 : Callback Mode
음성 녹음하기
녹음 재생하기
04-5 MicrophoneStream 클래스 구현하기
04-6 MicrophoneStream 클래스 활용하기
04-7 with~as 문의 이해와 활용
try~finally
with~as
컨텍스트 매니저(Context Manager)
with~as와 파일
with~as와 소켓

05 _ 구글 speech로 음성 인식하기
05-1 Cloud Speech API 키 발급 받기
구글 클라우드 플랫폼 무료 사용 등록하기
구글 스피치 플랫폼 프로젝트 생성하기
Cloud Speech-to-Text API 사용 설정하기
사용자 인증 정보 만들기
키 만들기
05-2 구글 음성 인식 라이브러리 설치하기
05-3 영어 음성 인식하기
05-4 연속 생성기 이해하기
연속 생성기 구조 이해하기
연속 생성기 중간 과정 살펴보기
05-5 한국어 음성 인식하기
05-6 한글 읽고 말하기
05-7 음성인식 바리스타
05-8 영어로 대화하기




반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.


아이씨뱅큐에서 진행하는 무상 체험단 활동을 하게 됐다. 제품 이름이 'Building Block Kit RUNNING:BIT'다. 야붐에서 나온 제품으로 레고와 호환 된다. 레고 마인드스톰 가성비 제품이라고 생각하면 될거 같다. 호환 레고도 좋지만 제품에 포함되어 있는 마이크로비트 확장보드인 super:bit가 가장 마음에 든다. 


[super:bit]


|배터리 일체형|4개의 DC 모터|8채널 서보 인터페이스|부저|RGB LED| 이것만으로도 추가적인 부품없이 무언가를 만들기엔 충분하다. 그리고 호환 레고 부품도 있어서 좋다. 그럼 런닝:비트 제품엔 무엇이 있는지 동영상으로 보자


[꽤 많은 테크닉 부품(호환 레고)과 슈퍼비트]


빌딩블록키트 런닝비트의 부품들을 보면 어렵지 않게 RC CAR를 만들 수 있다. 핸드폰을 이용하여 조종도 된다. 그럼 5 in 1중에 "Skilled remover"를 만들어 보자


http://www.yahboom.net/study/running:bit 접속

Download 부분에 있는 'Assembly_steps' 부분 클릭 후 PDF버전 또는 그림파일버전을 다운로드 받는다.


[Skilled remover 조립 과정]


타이틀은 모바일 슈터로 되어 있는데 다시 찾아 보니 "스킬드 리무버'다. 테크닉 조립이 처음인 지인이 조립했는데 50분 정도 걸렸다. 아래 사진은 완성하고 지인이 미니 피규어로 꾸민 것이다. 

[미니 피규어들의 자동차가 된 스킬드 리무버!!]


RC CAR를 조립했으니 휴대폰으로 조종해 보자

1. 홈페이지에 접속


2. 3. Robot course > D.Skilled remover > 5.iOS Bluetooth APP control.rar 다운로드 및 압축해제 하여  microbit-Mobile-shooter-iOS-Bluetooth-APP-control.hex를 마이크로비트에 다운로드 한다.

4. 왼쪽 모터는 M1에 연결, 오른쪽 모터는 M2, 그리고 서보는 S1에 연결 한다.


5. 핸드폰으로 QR코드를 읽어서 앱을 설치 한다.


이제 재미 있게 가지고 놀면 된다. 


gi

[핸드폰으로 RC CAR 조종하기]


이번 체험단 나의 미션은 블럭코딩이 아닌 파이썬을 이용한 코딩이다. 웹에디터로 파이썬 코드를 작성하면 좋겠지만, 슈퍼비트의 라이브러리를 사용하기 위해서는 특정 파일을 먼저 마이크로비트에 다운로드 후에 사용해야 한다. 


1. 1.Preparation before class > Python > 1.About python programming 클릭 후 다운로드 버튼을 클릭 한다.


2. Mu 에디터를 다운로드 후 설치 한다.


3. Mu 에디터를 실행 후에 간단한 코드를 작성하고 Flash 버튼을 클릭하여 마이크로비트에 문자열이 표시 되는지 확인 한다.



4. 하단 Download 메뉴에 있는 Superbit MicroPython library를 마이크로비트에 다운로드 한다.


5. 슈퍼비트 라이브러리를 이용한 코드를 작성 후에 Flash 버튼을 클릭하여 동작하는지 확인 한다.


이제서야 나의 미션을 할 수 있게 준비를 마무리 했다. 미션으로 다음 두가지를 할 예정이다.

* 마이크로비트 라디오 기능을 이용하여 RC CAR를 제어하기

* code.org 과정3에 나와 있는 미로 찾기 게임을 RC CAR를 이용하여 구현하기


미션들이 어렵지 않게 성곡 했으면 좋겠다.


마이크로비트 지니어스키트 공식 구입처 : 아이씨뱅큐 https://www.icbanq.com/ 

아이씨뱅큐 공식 카페 : https://cafe.naver.com/icbanq 

아이씨뱅큐 공식 블로그 : https://blog.naver.com/icbanq 



마이크로비트 공식 카페 : https://cafe.naver.com/bbcmicro 

나도메이커 유튜브 채널 : https://www.youtube.com/user/ICbanQ

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

변수

컴퓨터 언어에선 '변하는 수' 보다는 '하나의 데이터를 저장 할 수 있는 메모리 공간'이라고 생각 하자. 나중에는 변수를 '데이터가 저장되어 있는 레퍼런스를 담는 메모리 공간'으로 디테일 하게 이해 될 것이다.


1
>>> 철수의나이 = 17
cs
기본적인 변수 사용방법이다. '='를 기준으로 오른쪽의 있는 값왼쪽에 있는 변수에 저장 한다.


1
2
3
4
>>> 철수의나이 = 철수의나이 + 10
>>> 철수의나이
27
>>> 
cs

철수의나이 변수에 저장된 값과 10을 더해서 철수의나이 변수에 저장 한다. '=' 기준으로 어느쪽에 변수가 위치함에 따라 변수에 저장 할지 변수에 저장된 값을 가져 올지 결정 한다.


왜 변수를 사용할까 의문이 든다면, 앞으로 코드를 작성할때 변수를 사용안하고 작성해 보면 몸으로 느낄것이다.


질문

스터디를 하면서 연습문제에 대한 질문이 있었다. 

1) '반지름이 10 인 월의 넓이 = 314.1592' 이렇게 나와야 하는데 왜 '314.0'으로 나오나요? 원하는 만큼 소수부분을 출력하고 싶어요.

1
2
3
4
5
>>> 10 * 10 * 3.14
314.0
>>> 10 * 10 * 3.141592
314.1592
>>> 
cs

우리는 파이를 3.14로만 기억하지 3.141592를 기억하지 않는다. --.--;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


참고 코드

1
2
3
4
5
6
>>> import math
>>> math.pi
3.141592653589793
>>> 10 * 10 * math.pi
314.1592653589793
>>> 
cs


2) (num1 + num2 + num3) / 3으로 평균을 구했는데, 파이썬에서 제공하는 함수가 있나요?

있지만, 아직 초본이기 때문에 설명은 안하고 이렇게 평균을 구할 수 있는것만 알고 있자. 


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
>>> num1 = 30
>>> num2 = 90
>>> num3 = 120
>>> (num1 + num2 + num3) / 3
80.0
>>> import statistics
>>> dir(statistics)
['Decimal''Fraction''StatisticsError''__all__''__builtins__''__cached__''__doc__''__file__'
'__loader__''__name__''__package__''__spec__''_coerce''_convert''_counts''_exact_ratio'
'_fail_neg''_find_lteq''_find_rteq''_isfinite''_ss''_sum''bisect_left''bisect_right''collections'
'groupby''harmonic_mean''math''mean''median''median_grouped''median_high''median_low''mode'
'numbers''pstdev''pvariance''stdev''variance']
>>> help(statistics.mean)
Help on function mean in module statistics:
 
mean(data)
    Return the sample arithmetic mean of data.
    
    >>> mean([12344])
    2.8
    
    >>> from fractions import Fraction as F
    >>> mean([F(37), F(121), F(53), F(13)])
    Fraction(1321)
    
    >>> from decimal import Decimal as D
    >>> mean([D("0.5"), D("0.75"), D("0.625"), D("0.375")])
    Decimal('0.5625')
    
    If ``data`` is empty, StatisticsError will be raised.
 
>>> statistics.mean([num1, num2, num3])
80
>>> 
cs


마무리

변수가 무었인지 어떻게 사용하는지만 이해 했다면 좋다. 나머지는 경험을 통해서 배워가면 된다. 


다음글

이전글 2020/06/04 - [STUDY/파이썬] - [파이썬 스터디] 지인과 함께 하는 파이썬 with 두근두근 파이썬 No. 02 - IDLE와 turtle


반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,

컴퓨터 프로그램

컴퓨터가 수행할 명령어를 적어 놓은 문서

어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문 집합체

프로그래머

프로그램을 만드는 사람

IDLE

파이썬 코드를 작성하고 실행하고 저장하고 불러오는 것을 쉽게 해주는 것이 IDLE(Integrated Development and Learning Environment)다. 이 책의 코드를 작성하고 실행하는 것은 IDLE만으로도 충분할 것으로 생각 된다. 조금 인터넷을 검색해보면 '파이참' 또는 '주피터 노트북'이라는 통합개발환경 툴이 있다. 어느 것이든 한번쯤 사용해 보는걸 추천 하고, 툴 설치 사용에 서투르다면 나중에 해보길 바란다.

turtle

아마도 이 책을 혼자 공부를 한다면, 처음부터 막막할거 같다. 변수나 객체에 대한 얘기가 없기에 뭔지 모를거 같지만, 그냥 따라하면 된다. 어자피 앞으로 자세하게 배울테니까. 그리고 기존의 코드를 살짝 바꿔주고 결과가 어떻게 표시되는지 여러번 확인 하면, 정확하게는 아니더라도 대충은 어떻게 사용하는지는 알게 된다. 


1
2
3
4
5
6
7
>>> import turtle
>>> han = turtle.Turtle()
>>> han.shape('turtle')
>>> han.shape('turtle')
>>> han.forward(100)
>>> han.right(90)
>>> han.forward(100)
cs


이 코드를 하나씩 실행하게 되면 

화면이 하나 생기면서 

가운데 화살표가 표시 된다. 

그리고 화살표가 거북이로 변경 되고,

거북이가 보는 방향으로 100만큼 이동하면서 선이 그려진다.

그리고 시계방향으로 90도 거북이가 회전하고

거북이가 보는 방향으로 100만큼 이동하면서 선이 그려진다.


여러번 해본다면 어렵지 않게 자연스럽게  선을 그릴 수 있다.


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
>>> dir(turtle)
['Canvas''Pen''RawPen''RawTurtle''Screen''ScrolledCanvas''Shape''TK''TNavigator'
'TPen''Tbuffer''Terminator''Turtle''TurtleGraphicsError''TurtleScreen''TurtleScreenBase'
'Vec2D''_CFG''_LANGUAGE''_Root''_Screen''_TurtleImage''__all__''__builtins__''__cached__'
'__doc__''__file__''__forwardmethods''__func_body''__loader__''__methodDict''__methods'
'__name__''__package__''__spec__''__stringBody''_alias_list''_make_global_funcs'
'_screen_docrevise''_tg_classes''_tg_screen_functions''_tg_turtle_functions''_tg_utilities'
'_turtle_docrevise''_ver''addshape''back''backward''begin_fill''begin_poly''bgcolor''bgpic'
'bk''bye''circle''clear''clearscreen''clearstamp''clearstamps''clone''color''colormode'
'config_dict''deepcopy''degrees''delay''distance''done''dot''down''end_fill''end_poly'
'exitonclick''fd''fillcolor''filling''forward''get_poly''get_shapepoly''getcanvas'
'getmethparlist''getpen''getscreen''getshapes''getturtle''goto''heading''hideturtle''home'
'ht''inspect''isdown''isfile''isvisible''join''left''listen''lt''mainloop''math''mode'
'numinput''onclick''ondrag''onkey''onkeypress''onkeyrelease''onrelease''onscreenclick''ontimer'
'pd''pen''pencolor''pendown''pensize''penup''pos''position''pu''radians''read_docstrings'
'readconfig''register_shape''reset''resetscreen''resizemode''right''rt''screensize''seth'
'setheading''setpos''setposition''settiltangle''setundobuffer''setup''setworldcoordinates''setx'
'sety''shape''shapesize''shapetransform''shearfactor''showturtle''simpledialog''speed'
'split''st''stamp''sys''textinput''tilt''tiltangle''time''title''towards''tracer'
'turtles''turtlesize''types''undo''undobufferentries''up''update''width''window_height'
'window_width''write''write_docstringdict''xcor''ycor']
>>> dir(turtle.Turtle)
['DEFAULT_ANGLEOFFSET''DEFAULT_ANGLEORIENT''DEFAULT_MODE''START_ORIENTATION''__class__''__delattr__'
'__dict__''__dir__''__doc__''__eq__''__format__''__ge__''__getattribute__''__gt__''__hash__'
'__init__''__init_subclass__''__le__''__lt__''__module__''__ne__''__new__''__reduce__'
'__reduce_ex__''__repr__''__setattr__''__sizeof__''__str__''__subclasshook__''__weakref__'
'_cc''_clear''_clearstamp''_color''_colorstr''_delay''_drawturtle''_getshapepoly''_go'
'_goto''_newLine''_pen''_polytrafo''_reset''_rotate''_screen''_setDegreesPerAU''_setmode'
'_tracer''_undo''_undogoto''_update''_update_data''_write''back''backward''begin_fill''begin_poly'
'bk''circle''clear''clearstamp''clearstamps''clone''color''degrees''distance''dot''down'
'end_fill''end_poly''fd''fillcolor''filling''forward''get_poly''get_shapepoly''getpen''getscreen'
'getturtle''goto''heading''hideturtle''home''ht''isdown''isvisible''left''lt'
'onclick''ondrag''onrelease''pd''pen''pencolor''pendown''pensize''penup''pos''position'
'pu''radians''reset''resizemode''right''rt''screens''seth''setheading''setpos''setposition'
'settiltangle''setundobuffer''setx''sety''shape''shapesize''shapetransform''shearfactor''showturtle'
'speed''st''stamp''tilt''tiltangle''towards''turtlesize''undo''undobufferentries''up''width'
'write''xcor''ycor']
>>> help(turtle.Turtle.forward)
Help on function forward in module turtle:
 
forward(self, distance)
    Move the turtle forward by the specified distance.
    
    Aliases: forward | fd
    
    Argument:
    distance -- a number (integer or float)
    
    Move the turtle forward by the specified distance, in the direction
    the turtle is headed.
    
    Example (for a Turtle instance named turtle):
    >>> turtle.position()
    (0.000.00)
    >>> turtle.forward(25)
    >>> turtle.position()
    (25.00,0.00)
    >>> turtle.forward(-75)
    >>> turtle.position()
    (-50.00,0.00)
 
>>> help(han.forward)
Help on method forward in module turtle:
 
forward(distance) method of turtle.Turtle instance
    Move the turtle forward by the specified distance.
    
    Aliases: forward | fd
    
    Argument:
    distance -- a number (integer or float)
    
    Move the turtle forward by the specified distance, in the direction
    the turtle is headed.
    
    Example (for a Turtle instance named turtle):
    >>> turtle.position()
    (0.000.00)
    >>> turtle.forward(25)
    >>> turtle.position()
    (25.00,0.00)
    >>> turtle.forward(-75)
    >>> turtle.position()
    (-50.00,0.00)
 
>>> 
cs


help와 dir 내장함수를 이용하여 우리가 사용하는 것(?)에 대하여 정보를 얻을 수 있다.

반응형
블로그 이미지

두리뭉실:해피파인더그룹

컴퓨터 코치 두리뭉실

,