<책 표지>



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


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



위 사진의 내용처럼 이 책은 파이썬 고급 주제로 맘스터치, 바리스타 프로그램을 만들고 응용한다. 파이썬의 기본적인 내용을 먼저 설명하고 코딩하는 것이 아닌, 필요한 부분을 설명하고 프로그램 완성하는 방식이다. 거기에 맛보기 수준으로 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 내장함수를 이용하여 우리가 사용하는 것(?)에 대하여 정보를 얻을 수 있다.

블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요

  • 김코치 두리뭉실:해피파인더그룹 2020.06.04 17:06 신고  댓글주소  수정/삭제  댓글쓰기

    관리자 페이지중 CSS 부분에서

    table>thead>tr>th, .table>thead>tr>th, table>tbody>tr>th, .table>tbody>tr>th, table>tfoot>tr>th, .table>tfoot>tr>th, table>thead>tr>td, .table>thead>tr>td, table>tbody>tr>td, .table>tbody>tr>td, table>tfoot>tr>td, .table>tfoot>tr>td {
    text-align: center;
    }

    밑에다가

    .colorscripter-code-table>tbody>tr>td {
    text-align: left;
    }

    이 코드 추가해주면 가운데 정렬로 표시 되던게 왼쪽 정렬로 표시 된다.

지인이 파이썬을 하고 싶다 하여, 지인의 일정에 마춰서 스터디를 만들었다. 아직 이름은 없다. 수요일 저녁 8시에 하기로 했으니까 그때 스터디 이름을 만들어야 겠다. 


생능출판사의 '두근두근 파이썬' 책으로 진행한다.

<두근두근 파이썬 표지>


학교 교재이기 때문에 강의 계획서도 있다.

•1주: 1장 파이썬 소개
•2주: 2장 변수
•3주: 3장 계산기능
•4주: 4장 자료의 종류
•5주: 5장 조건
•6주: 6장 반복
•7주: 7장 함수
•8주: 중간고사 중간 평가 및 프로젝트 제안서 발표
•9주: 8장 프로젝트 I
•10주: 9장 리스트와 딕셔너리
•11주: 10장 tkinter
•12주: 11장 파일
•13주: 12장 라이브러리 사용
•14주: 13장 객체와 클래스 개요
•15주: 14장 프로젝트 II
•16주: 기말고사 기말 평가 및 프로젝트 결과 발표


전반적인 내용을 다루지는 않지만, 입문서로는 괜찮은듯 하고 KAIT에서 진행하는 '파이썬 마스터' 자격증도 준비 할 수 있을거 같다. 부족한 부분은 문제 풀이를 통해 보충하면 되니까!


스터디 첫주 범위는 '1장 파이썬 소개' & '2장 변수'다. 내일 스터디를 위해서 연습문제를 풀면서 정리 해야 겠다.


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

이전글





블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요

자세한 정보 


판매사로 부터 제공 받은 마이크로 비트를 이용한 드론이다. 어디서 많이 본 듯한 부품들이다. 지인이 다니던 학원에서 아두이노로 만들었던 드론 그것과 비슷하다. 아니 본체부분(FC) 부분만 빼고 똑같다. 찾아 보니 서민우 저자의 아두이노 드론과 같은 부품들이다. 


아두이노 드론 - 링크

마이크로비트 드론 - 링크


글을 쓰기 시작한 시점엔 이미 조립과 코드를 작성하여 드론을 작동은 시켜 봤다. 처음에 동작 하는걸 보려고, PID 테스트를 위한 도구를 설치 안하고 방안에서 동작 하다가 드론이 옆으로 날면서 의자 기둥에 부딪혀 날개가 부러졌다. 물론 지금은 구매를 하여 정상적으로 조립 되어 있다. 하하하^^;;;;;;;;;;;;;;;;;;;;;;;;


이미 저자로 부터 우리가 생각하는 잘 날으는 드론은 아니더라도, 뜨고 원하는 방향으로 이동되는 교육 제품이라고 들었고, 조금씩 한쪽으로 드론이 흐른것도 알고 있다. 현재의 코드로는 호버링 같은 기능은 하지 못한다. 


결론 부터 말하자면, 제공 되어진 설명서는 미분 적분에 대한 내용을 몰라도 PID 관련 부분에서 설명대로 따라서 하기만 하면 저절로 알게 된다. "아두이노 드론 만들고 직접 코딩하기"에서는 미분적분만 나와도 하기 싫었는데, 부담없이 할 수 있다. 즉 사칙연산과 조금의 생각을 할 줄 안다면 어렵지 않게  PID대한 개념을 이해하고 완벽하지는 않지만, 드론을 지면에서 띄우고 조정 할 수가 있다. 드론의 실제 실용적인 제품 보다는 교육적인 제품으로 보면 좋다.


이제부터 제공된 설명서를 처음 부터 보면서 이 제품에 대한 이야기를 써볼려고 한다. 마이크로 비트와 드론에 관심이 있는 분들에게 도움이 되었으면 좋겠다.

블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요

서평 이벤트에 당첨되어 주관적으로 얘기해 보려고 한다. 이미 블록코딩과 파이썬을 이용하여 마이크로비트를 제어한 경험이 있다. 출판사로부터 책과 실습키트(부록2에 있는 스파이더 로봇은 개인 구매)를 제공 받았다. 


'파인썬 입문책'이라고 보기엔 다소 내용이 부족하고, '마이크로비트를 이용하여 파이썬 맛보기'라고 보면 좋을거 같다. 개인적으로 프로그래밍 언어를 배울때 중요하다고 생각하는 부분이 있다. 변수, 반복문, 제어문, 함수다. 반복으로 인한 조금은 지루하다는걸 감안하더라도(책 분량이 많아짐) 개념적인 부분과 마이크로비트를 이용한 실습을 통해 잘 설명되어 있다. 나아가서 다른 언어를 배우더라도 어렵지 않게 쉽게 접근 할 수 있다고 생각한다. 에러에 대한 설명 부분도 좋았다. 이 부분만 별5개를 주고 싶다.


---*

책에서는 putty라는 프로그램을 이용하여 시리얼 통신을 한다. 최근 파이썬 웹 에디터도 업데이트 되었고, 마이크로비트 펌웨어 업데이트를 하면 Web-USB를 사용할 수 있어 웹에디터에서 시리얼 통신을 통한 파이썬 쉘을 이용할 수 있다. 

---


다소 아쉬운 부분은 중반이후에 나오는 import 그리고 클리스 부분이다. 모르면 모르는데로 넘어가도 괜찮은 부분인데, 개인적으로 읽기가 쉽지 않았다. 아마도 내가 알고있는 개념과 저자의 이해를 돕기 위해 표현한 방법이 잘 맞지 않아서 인거 같다. 


---*

사실 객체지향 프로그램이란게 한두장으로 설명이 되는것도 아니고, 쉽지 않은 부분이다. 이해 보다는 간단하게 사용방법만 알아도 좋을듯 하다.

---


책의 중반 부터는 마이크로비트를 이용한 센서 및 장치를 제어하는 내용이다. 특히 실습키트에 있는 부품에 아쉬움이 있다. 마이크로비트로 이용한다면 브레드보드나 저항 같은걸 이용하지 않고 바로 연결 하여 사용할 수 있는 부품으로 되어 있어야 생각 한다. 예를 들자면, 열심히 저항과 선 그리고 LED를 브레드보드에 연결했는데...... 하트가 이쁘지 않아서 실망했다^^. 확장보드에 한번에 연결할 수 있도록 하트 부품이 만들어 졌다면 하트보고 안이쁘다고 생각은 안했을거 같다. 


이쁘지 않은 하트는 뒤로 하고 부록에 나와 있는 실습을 하기 위해서 권투로봇이 아닌 스파이더 로봇으로 구매하기로 결정했다. 이 실습을 하기 위해서는 마이크로비트 * 2, 마이크로비트로 배우는 파이썬 키트, 그리고 스파이더 로봇이 필요하다. 2 + 2 + 3.5 + 2.3 ......

오랫만에 가지고 노는 RC로봇이라 움직이는 것만으로도 재미 있다.(나는 어른이다 --.--) 퀄리티도 나름 괜찮은거 같다. 기존에 스파이더 로봇에 있는 송신부와 수신부를 떼어내고, 마이크로비트 각각에 수신 프로그램과 송신 프로그램을 만들어 확장보드를 이용하여 스파이더 로봇에 쉽게 연결이 됐다. 참 허무할 정도로 쉽게 말이다. 


---*

조금 아쉬운 마음이 든다. 움직이는게 끝?? 하지만 그게 끝이 아니다. 확장 보드에 LED, 부저, 여러 가지 부품들을 추가 가능하다. 버튼을 눌러 특정 동작을 하게 만들수 있다. 연결하고 코딩하고^^.   


* 네오픽셀을 거미 배부분에 장착하여 빛나게 하면 거미가 조금 간지가 날듯

* 무선제어가 아닌 마이크로비트 하나와 키트에 포함되어 있는 조이스틱과, 버튼을 이용하여 제어하면 마이크로비트 하나 더 구매하지 않아도 될듯

* 근접 터치 센서를 연결하여 근처에 가면 반응하게 하면 잼날듯

---


객체지향에 대한 내용과, 마이크로비트에 대한 내용을 더 간단하게 그러러니까 마이크로비트에 몇번핀에 연결하여 사용하는 정도의 내용으로 간단했으면 하는 아쉬움이 있지만, 앞 부분에 얘기했던 것처럼 변수, 반복문, 제어문, 함수에 대한 설명들이 잘 되어 있는 것만으로도 별 다섯개 중에 4개를 주고 싶다. 


---*

짧은 시간에 책도 읽고 실습도 하고 부록에 있는 부분까지 해 봤다. 내가 서평 이벤트에 참여한 목적이 두가지가 있다.

첫번째는 지인이 코딩 수업을 진행하면서, 필요한 정보를 얻기 위해서다. 코딩 수업에 사용하는 기존 컨텐츠와 비교할 수 있는 비교군이 하다 더 생겨서 좋은거 같다. 


두번째는 파이썬 입문이 아닌, 파이썬으로 마이크로비트를 제어하는 기본적인 정보를 얻는 것이다. 파이썬은 어느 정도 알고 있고, ' https://microbit-micropython.readthedocs.io/' 통해서 필요한 코딩을 했는데, 이책에 막연하게 기대했던거 같다. 파이썬을 조금 아는데 마이크로비트를 이용하여 제어하는 경험을 해 보지 못한 분들에게는 좋은 책이라 생각 한다.

---


조카들이 코딩 수업을 하고 있는데, 시골에 내려오면 은근 슬쩍 스파이더 로봇을 보여주면서 해보라고 해야 겠다~.


마지막으로 앤써북에 체험단 이벤트를 참여하게 해줘서 감사의 마음을 전한다.

블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요

오랫만에 앤써북 카페에 가보니 파이썬 책 서평 이벤트 게시물이 있네요^^. 마이크로파이썬을 이용하여 마이크로비트를 사용하는데 도움이 될만한 책인거 같아 공유해요. 서평 이벤트에 참여해서 좋은 결과가 있길 바래요^^!


<도서+키트 체험단 이벤트> 마이크로비트로 배우는 파이썬

하드웨어를 동작시키며 진짜 재미있게 배우는 파이썬 입문 활용서!  도서 + 키트 체험단을 모십니다!

 

 

 

 

2020년 2월 15일 | 396쪽 | 18,800원 | 풀컬러 | 서민우 저 | 앤써북

 

 

 

 

마이크로비트로 배우는 파이썬

서민우

앤써북 2020.02.25

 

 

 

 

YES24, 교보문고 등 전국서점과 인터넷서점에서 판매를 시작했어요~~

 

ogq_58146d74c399f-3

마이크로비트로 배우는 파이썬 

하드웨어를 동작시키며 진짜 재미있게 배우는 파이썬 입문 활용서!

 

 

 

서평이벤트 안내

 

 

■ 모집 인원 : 5

 

■ 이벤트 기간 : 2020년 1월 29 ~ 2월 04(화) 17:00시까지  

 

■ 당첨자 발표 : 2월 04(화) 18:00시 <<본 게시글의 댓글 하단을 통해 발표>>

 

댓글 참여하신 분이 모집 인원을 초과한 경우 조기 마감될 수 있습니다.

■ 서평 기간 및 마감일: 책과 키트 발송완료 후, 2월 19(수)까지

ogq_58146d74c399f-1

(서평 마감일 이전에 서평을 완료해 주시면 완전 굳~~~입니다.)

 

 

  와우저 당첨되었어요^^

당첨되신 분들은 당첨자 발표 익일까지 아래 메일 주소로 책 받으실 곳의 주소,

성함연락처카페 닉네임참여한 도서체험단명(도서명)을 아래 메일로 보내주세요.

 

 

보내실 메일 주소 answerbook@naver.com

 

 

 

 

  당첨자 혜택

 

도서 + 도서의 내용을 직접 실습해볼 수 있는 <마이크로브트로 배우는 파이썬 키트_코코랩스> 제공

 

 

 

ogq_58146d74c399f-11

도서와 키트를 함께 체험해 볼 수 있는 이벤트~~~

 

<도서_앤써북>                                   <마이크로비트로 배우는 파이썬 키트 _ 코코랩스>

 

 

 

※ 도서의 경우 도서정가제로 인하여 2차 유통이 완료된 도서가 전달될 수 있습니다.

 

  도서와 키트 배송 방법 

- <도서>와 <키트>는 2월 06(목)에 각각 일괄 발송됩니다.  

- <도서>는 앤써북에서 발송되고, <키트>는 판매처인 <코코랩스(http://www.kocolabs.co.kr/)>에서 발송됩니다.

 

 

 

 

  이벤트 참여 방법

1) 이 게시글에 댓글로 서평이벤트에 참여하는 이유를 간단하게 남겨주세요.

2) 서평 올리실 인터넷서점과 개인 블로그 주소를 남겨주세요.

 

 

 

  당첨자 미션

 

도서 수령 후 2주 이내 개인 블로그(필수)와 온라인 서점(1) 또는 네이버책(필수)에 리뷰 후기를 남겨주세요리뷰 내용은 동일하게 작성하셔도 됩니다.

 

1) 본인 블로그 후기 작성://

2) 네이버책 후기 작성 [바로가기]

3) YES24 후기 작성 [바로가기]

4) 교보문고 후기 작성 [바로가기]

 

 

 

 

 

※ 책 리뷰(후기)는 미션 기간 내 반드시 작성해 주셔야 되며책임감이 있는 분들만 신청하시길 바랍니다미션을 수행하지 않는 경우 앞으로 카페에서 진행되는 모든 이벤트에 참여할 수 없는 불이익을 받을 수 있습니다.

 

 

 

※ 리뷰(후기)를 작성하신 분들은 반드시 본 게시물 댓글에 후기 주소 URL 값을 링크해주세요.

블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요

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


운이 좋게 마이크로비트 체험단에 당첨이 됐다. 항상 뭔가를 기다리는 마음은 설렌다. 단품팩이라 박스 하나만 있다. 마이크로 비트는 색을 선택할 수가 없다. 그래서 개봉전에 무슨 색일까 무지 궁금했다.

짜잔~ 노란색이다!. 좋다. 그냥 좋다. 개봉기는 조촐하게 "노란색 마이크로비트"로  끝내야 겠다.


이번에 체험단 신청하면서 목표를 몇개 세웠다.

 1. 파이썬으로 코딩 할것!

 2. 아크릴 케이스를 만들것!

 3. DOT MATRIX & HT16K33 모듈을 이용하여 테트리스를 만들것!

 4. 어떤것이든 이벤트를 할것!


2주안에 못 할 수도 있지만, 시도하다 보면 좋은 결과가 있을거라 생각 한다.  아래 동용상은 MU 에디터를 이용하여 간단한 파이썬 코딩을 하였다. REPL이 되서 참 좋다. 


마이크로비트 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/

엘리먼트14의 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음, 한글 웹사이트, 국내서비스센터 운영

(http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)

마이크로비트 공식 카페 : http://café.naver.com/bbcmicro

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



블로그 이미지

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

컴퓨터 코치 김코치

댓글을 달아 주세요