2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

강의자료 346

[파이썬] 파이게임 객체 생성

지난 시간에 파이게임 사용법을 살펴 보았습니다. https://wondangcom.tistory.com/2597 오늘은 파이게임에서 객체를 생성하고 키보드를 이용하여 이동하는 방법을 살펴 보도록 하겠습니다. 객체를 만들기 위한 이미지는 파이게임 튜토리얼(https://github.com/formazione/pygame_tutorial)에 있는 이미지를 사용하겠습니다. 이미지를 보면 각 행동에 대한 이미지가 여러개 있는 것을 확인 할 수 있습니다. 여기서 Dead 를 선택한다면 Dead(1) ~ Dead(15) 까지 적당한 시간을 두고 이미지를 변경 한다면 마치 쓰러지는 사람처럼 보일것입니다. 객체생성 1. 파이썬 객체 생성 - 플레이어를 관리할 수 있는 객체를 생성하고 객체를 이용해서 인스턴스를 만드는 ..

[파이썬] 파이게임 사용법

파이게임이란 파이게임(Pygame)은 파이썬 개발자를 위한 게임엔진이다. 강력하고 사용하기 쉽고 오픈소스이다. 파이게임 사용법 살펴 보기 1. 파이게임 설치하기 - 이 프로그램은 파이참을 이용하여 실습을 진행하고 있습니다. - terminal 에서 다음의 명령을 실행합니다. pip install pygame ※ 만약 에러가 난다면 pycharm을 관리자권한으로 실행하여 설치해 봅니다. 2. 파이게임 초기화하기 import pygame #파이게임 초기화하기 pygame.init() 파이게임을 사용하기 위해서는 파이게임을 초기화 해야 한다. 3. 디스플레이 결정하기 # 게임 화면 초기화 하기 screen = pygame.display.set_mode((500,800)) 화면 크기를 set_mode( (넓이,..

파이썬으로 JSON 파일 다루기 및 실행파일 만들기

2023.07.04 - [강의자료/텍스트기반SW] - 파이썬으로 웹 크롤링 하고 바드에게 묻고 답하기 지난 시간에 저희 홈페이지 글을 크롤링 해서 내용을 찾아 바드에게 묻고 답하는 실습을 진행 해 보았는데요~ 그렇다면 티스토리블로그 요약하는 프로그램이라면 URL 을 입력 받아 분석하는 프로그램을 만들면 되겠네요~ 입력을 받아서 만약 exit 가 들어 왔다면 프로그램 종료하고 그렇지 않으면 분석 하도록 프로그램을 수정해 보도록 하겠습니다. while True: url_addr = input("분석할 URL 을 입력하세요.(종료시 exit) : ") if url_addr == 'exit': break # 웹 페이지를 가져온 뒤 BeautifulSoup 객체로 만듦 response = requests.get(..

파이썬으로 웹 크롤링 하고 바드에게 묻고 답하기

지난시간에 바드를 이용하여 질문하고 답변을 받는 방법을 살펴 보았는데요~ 저는 바드를 이용해서 웹페이지의 내용을 읽어서 한줄 또는 두세줄로 요약 받는 프로그램을 만들어 보려고 합니다. 우리가 프로그램을 만들때 알고리즘이 어떻게 진행되는지 살펴 보고 그 것을 만들기 위해서는 어떤 기법들이 필요한지 살펴 봐야 됩니다. 일단 제가 만들려고 하는 프로그램은 다음과 같습니다. 해당 웹페이지 URL을 입력받는다. URL 의 내용을 가져와서 내용만 추출한다. 해당 내용을 바드에게 요약 정리해 달라고 요청한다. 아주 단순한 프로그램이네요 그래서 지난 시간에 2023.06.27 - [강의자료/텍스트기반SW] - 구글 바드 API 파이썬에서 사용하기 에서 바드에 묻고 답하기 기능을 살펴 봤습니다. 오늘은 URL을 이용해서..

구글 바드 API 파이썬에서 사용하기

1. 바드 API 패키지 설치 실습환경은 Pycharm 에서 실습을 진행하였습니다. PyCharm의 terminal 에서 pip install bardapi 를 입력하여 설치합니다. 2. 바드 API 키 가져 오기 구글에서 아직 api key를 제공하고 있지 않기 때문에 쿠키값을 사용합니다. https://bard.google.com/?hl=ko 에 법속하여 F12 키를 눌러서 개발자 창을 엽니다. 다음과 같이 Application -> Storage -> Cookies -> 'https://bard.google.com'의 _Secure-1PSID 에 있는 값을 키값으로 사용합니다. 위의 이미지에서 (1) -> (2) 를 선택 후 (3)의 값이 키값으로 사용하고자 하는 값입니다. bard_api_key ..

[인공지능수학]1차 함수로 이해하는 선형 회귀

1. 1차 함수로 이해하는 선형 회귀 선형 회귀는 1차 함수로 표현 할 수 있다. y=ax+b 위 1차 함수의 기울기(slope)는 a이고 절편(intercepter)은 b이다. 1. 머신러닝에서 선형회귀는 기울기와 절편을 찾아 준다. 선형 회귀는 기울기와 절편을 찾아주는 알고리즘이다. 다음과 같은 문제를 살펴 보자. x가 3일때 y=25 x가 4일때 y=32 x가 5일때 y=39 라면 기울기와 절편의 값으로 적절한 것은 무엇인가. 여기서 x가 1씩 증가 할 때 y의 값은 7씩 증가하는 것을 알 수 있다. 따라서 y = 7x + b 여기서 x가 3일 때 y= 25 라고 했으니 25 = 7*3 + b 이므로 b는 4 인 것을 알 수 있다. 따라서 기울기는 7 절편은 4 인것을 알 수 있다. 이러한 문제를 ..

[기초수학]신경망에서 많이 사용하는 시그마

Σ (시그마)기호의 의미 수열의 부분합을 Σ 로 나타내며 Σ는 합을 의미하는 영어단어 'sum'의 앞글자 s에서 유래한 것이라고 한다. 수열 an의 합을 시그마 기호로 나타내면 다음과 같으며 '1항부터 n항까지 주열 an의 합계' 라는 의미이다. $$\sum_{k=1}^na_{k}=a_{1}+a_{2}+a_{3}+...+a_{n}$$ 시그마 기호에 있는 문자 k는 항 숫자를 의미한다. 수학에서는 항 숫자를 의미하는 알파벳으로 i,j,k,l,m,n을 자주 이용하며 실제 사용은 다음과 같이 사용된다. $$ \sum_{n=1}^{5}a_{n}=a_{1}+a_{2}+a_{3}+a_{4}+a_{5} $$ $$ \sum_{i=1}^{5}i^{2}=1^{1}+2^{2}+3^{2}+4^{2}+5^{2} $$ $$ \s..

[알고리즘 수학] 카드 맞히기 마술

어느 마술사가 한 관객에게 1부터 27까지 쓰여진 27장의 카드 중에서 한 장을 고른 후 그 카드를 마술사에게 보여주지 않은 채 다시 카드 무더기 안에 집어 넣으라고 시켰다. 마술사는 카드를 다시 섞은 다음 한 번에 한 장씩 앞면이 보이도록 세 무더기로 나누기 시작했다.(예 1~27 까지의 카드가 순서대로 있었다면 1,4,7...,25 / 2,5,8 ...,26/3,6,9 ...,27 와 같이 순서대로 하나씩 3 그룹으로 분리한다.) 그런 후 카드를 선택했던 관객에게 아까 골랐던 카드가 어느 무더기에 들어갔는지 물어본다. 관객이 고른 무더기를 다른 두 무더기 사이에 집어 넣은 다음 카드를 섞지 않은 채 아까처럼 세 무더기로 나눠 놓는다.(예를 들어 첫번째 그룹에 들어 있었다면 2,5,8,...26/1,4..

[알고리즘 수학] 막대자르기

길이가 100인 막대를 잘라 길이가 1인 조각 100개를 만들어야 한다. 여러 조각을 한꺼번에 자를 수 있다고 가정할 때 자르는 최소 횟수는 몇번인가? 막대의 길이가 n일때 최소 횟수만에 자르는 알고리즘을 설명하라. 문제출처) 길벗 - 알고리즘 퍼즐 문제풀이) 이 문제는 정보올림피아드 예선 문제에 자주 출제되는 유형으로 다음과 같이 절반씩 잘라 가는 유형으로 생각하면 됩니다. 100 = 50 * 2 50 = 25 * 2 25 = 13 + 12 (여기서 13 크기를 기준으로 생각함) 13 = 7 + 6 (여기서 7 크기를 기준으로 생각함) 7 = 4 + 3 (여기서 4 크기를 기준으로 생각함) 4 = 2*2 2 = 1*1 즉 7번이면 100인 막대를 1 크기로 모두 자를 수 있습니다. 여기서 아이디어는 절..

[알고리즘 수학] 살아있기 좋은 날

세계 과학의 역사라는 책을 준비 중인 편집자가 주요 과학자가 가장 많이 살아 있던 시기를 알아 보려고 한다. 여기서 주요 과학자는 그 책에 출생연도와 사망연도가 모두 기록된 과학자로 정의한다.(그 책에 살아 있는 과학자는 수록되어 있지 않다) 책의 색인을 입력 받아 이 작업을 처리해보자. 만약 A가 사망한 해에 B가 새로 태어났다면 A의 사망시점이 B의 출생 시점보다 앞선다고 가정하자. 문제 출처)길벗출판사- 알고리즘 퍼즐 문제풀이) 이 문제는 자료구조의 count배열을 사용하여 해결이 가능하다. 예를 들어 다음과 같이 (태어난 해,사망한해)의 형태로 데이터가 입력 되었다고 가정해 보자. A(1,9),B(4,7),C(2,10),D(7,11),E(3,12) 태어난 해에는 +1,사망한 해에는 -1로 표기를 ..