본문 바로가기

프로그래밍/Python

(11)
파이썬 슬랙 챗봇 만들기 Slack Python ChatBot 코드 최신정보 파이썬 웹 크롤링 공부를 하면서 슬랙이라는 플랫폼을 알게되었고 파이썬으로 챗봇을 만들 수 있다는 것을 알게되었다. 이번에 파이썬으로 챗봇을 만들고 채팅오게 하는 방법을 써보려고 한다. 1. Slack 슬랙 회원가입 및 로그인 클라우드 기반의 비즈니스 커뮤니케이션 플랫폼 워크스페이스에서 팀원들과 협업이 가능하고 파일 및 공유가 가능하며 화상 회의도 가능하다 Slack은 생산성 플랫폼입니다 Slack은 팀과 커뮤니케이션할 수 있는 새로운 방법입니다. 이메일보다 빠르고, 더 조직적이며, 훨씬 안전합니다. slack.com 먼저 슬랙 사이트에 들어가서 회원가입 또는 로그인을 해준다. 구글 로그인 혹은 애플 로그인 연동이 가능하다. 이미 로그인된 상태라면 2번으로 넘어가면 된다. 2. Slack 슬랙 워크스페이스..
반복하지 않는 수, 중복되지 않는 수, 0부터 9까지 순열 만들기 코드 0부터 9까지 총 10개의 숫자로 만들 수 있는 순열의 개수는 8877690개이다. 아래 코드는 반복하지 않는 수를 txt 파일로 저장하는 파이썬 코드이다. from itertools import permutations, chain, islice import math def make_no_repeats(length): my_iter = permutations(range(10), length) no_zero_start_index = math.perm(9, length - 1) no_lead_zeros = islice(my_iter, no_zero_start_index, None) return no_lead_zeros if __name__ == '__main__': my_list = [] iter_no_re..
[인공지능 학습 노트] 파이썬 UCS 구현 상태 공간 그래프에 대한 균일 비용 탐색 알고리즘 균일 비용 탐색 UCS (Uniform Cost Search) 정의 무정보 탐색 알고리즘의 한 종류, 최소 경로 비용을 기준으로 아직 방문하지 않은 노드를 탐색하는 기법 무정보 탐색이란 상태공간에 대한 아무런 정보 없이 정해진 순서에 따라 진행 하며 얻은 정보만 활용하여 탐색하는 방법 최소 경로 비용이란 우선 UCS에서 경로 비용이란 시작 노드에서 현재 노드까지 발생되는 모든 비용의 합이다. 예를 들면 시작노드 A 노드에서 C 노드로 갈 때 발생하는 비용은 4이다. 그리고 D 노드를 가는데 C 노드를 통해서 가게 되었다면 A -> C -> D 즉 7이다. 노드를 탐색할 때 방문되지 않은 노드의 경로 비용들에서 가장 최소가 되는 노드를 선택하여 탐색하는 방법이 최소 경로 비용을 선택하는 것 즉, 균일 비용..
BFS, DFS, 최선우선탐색, 휴리스틱 알고리즘, a* 알고리즘 3X3 8퍼즐 공부 퍼즐 맞추기인데 교수님이 억까 코드로 실습하라고 했음... 그래서 일단 억까코드 수정하고 저렇게 만들어봤는데 bfs는 교수님 원본 코드에서 딱히 바뀐건 없고 주석이랑 조건문 위치랑 moves 프린트 수정했고 dfs는 실습이었는데 저렇게 만드는게 맞나 모르겠다.. 일단 무한적으로 탐색하던건 조건문 위치랑 조건 수정해서 고쳐졌고 set으로 중복체킹하는데 시간복잡도 O(1)로 수정함 BFS class State: def __init__(self, board, goal, moves=0): self.board = board self.moves = moves self.goal = goal # i1과 i2를 교환하여서 새로운 상태를 반환한다. def get_new_board(self, i1, i2, moves): n..
파이썬 학습 노트 기초 (1) 파이썬의 연산자 연산자 뜻 + 더하기 - 빼기 * 곱하기 / 나누기(소수점) ** 제곱 // 몫 % 나머지 () 괄호 안을 먼저 연산 파이썬의 변수 변수 이름 뒤 등호(=)로 값을 저장한다 C언어나 JAVA 처럼 자료형을 지정해주지 않는다 변수 이름은 대/소문자, 숫자, 밑줄로 사용 대소문자는 구분됨 파이썬의 변수 네이밍룰은 소문자로 _ 를 사용하여 구분하여 사용한다고 한다 출력 print(변수), print("hello") def print_hi(name): print("I like", end='') print(" money") if __name__ == '__main__': print_hi('PyCharm') 판단 파이썬의 참 값은 True, 거짓 없은 False ==, !=, , = 와 같은 비교 ..
네이버 금융 주식 데이터 웹 크롤링 - 일별시세 csv파일에 저장하기 파이썬으로 웹 크롤링 파이썬으로 빅데이터 공부를 하면서 웹 크롤링에 대해 배우게 되었다. 증시 관련 데이터를 크롤링 하려는데 네이버에서 증시 api는 제공하지 않는다. 그래서 html 태그에서 직접 크롤링을 해야했다. from bs4 import BeautifulSoup import requests import pandas as pd from selenium import webdriver import time 밑의 코드들은 위의 라이브러리를 사용한다. 종목 코드 크롤링 주식 데이터를 검색하려면 보통 종목코드를 입력하여 크롤링 하는것이 일반적이다. 하지만 일반 사람들에게는 삼성전자, 구글 이러한 이름이 익숙하기 때문에 먼저 종목 코드 부터 크롤링 할것이다. 크롬 네이버에서 삼성 전자를 검색하고 종목코드가 ..
[파이썬] 달력 만들기 import turtle 사용 calendar 없이 만들기 우리 학교 파이썬 수업 과제였습니다 ㅋㅋㅋㅋ 정말 한참 수정할게 많지만 나중에 하는걸로 하고 지금은 백업용으로 올립니다. 나름 리스트에 해당 년도 달력을 전부 넣고 싶어서 고민좀 했습니다. WOD.py # 모듈 import turtle import returnday # 터틀 입력창으로 연도 입력 받기 및 터틀 설정 turtle.title("달력 만들기") turtle.hideturtle() turtle.speed(0) inputYear = int(turtle.numinput("달력 만들기", "표시할 달력의 연도를 입력하시오.")) print("%d" % (inputYear)) print() # 터틀 창 테두리 꾸미기 turtle.penup() turtle.pensize(3) turtle.goto(-45..
[파이썬] 숫자 맞추기 게임 from random import randint [파이썬] 숫자 맞추기 게임 from random import randint random 모듈로 1부터 100까지 랜덤 숫자를 불러와서 숫자맞추기 게임을 만들었습니다 시험에 나올줄알았는데 안나오누 ## 숫자 맞추기 게임 from random import randint tries = 0 myNumber = 0 correctNumber = randint(1, 100) print("1부터 100사이의 숫자를 맞추시오") while tries correctNumber: print("정답보다 높습니다!"..