묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
서버에 피해가 가지않도록 크롤링할 수 있는 방법은 없을까요?
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 서버에 피해가 가지않도록 크롤링할 수 있는 방법은 없을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
조건문 부분 강의에서 낚시라고 한 부분이 궁금해요
자세한 설명이 궁금합니다.a = 10, b=5, c=8if(a!=b!=c)에서 a!=b를 먼저 계산한 값이 false(0)그럼 후에 비교하는값이 0 != 8이 되는건가요?
-
해결됨파이썬으로 뭘 만들지? 남박사의 파이썬 알쓸파잡
if start_index < end_index: 맞는건가요?
항상 startIndex가 endIndex보다 작다라는 게 보장되지 않나요? endIndex = r.text.find("};", startIndex + 1) if 0 <= startIndex else 0 여기 구문에서 endIndex는 항상 startIndex보다 큰 값을 가지는 게 보장되는데, 왜 if startIndex < endIndex: 이 조건을 추가해주나요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
백준에서는 recursion error가 납니다
안녕하세요 ! 동일한 코드로 선생님의 채점기에 돌렸을 때는 100점이 나왔는데 백준에서는 recursion 에러가 납니다. 종료조건도 잘 설정해준 것 같은데 어디서 그렇게 호출이 많이 일어나는지 이해가 되지않아서요 ㅠㅠ 강의 잘 듣고 있습니다. 감사합니다!!# 1. 재귀 (근데 백준에서는 recursion 에러 뜸..) n = int(input()) meetings = [] for _ in range(n): meetings.append(list(map(int, input().split()))) meetings.sort(key=lambda x: (x[1], x[0])) # 끝나는 시간을 기준으로 정렬 # x[1]이 같을 경우 x[0]을 기준으로 정렬 def find(i, cnt): for j in range(i+1, n): if meetings[i][1] <= meetings[j][0]: # 회의 끝나는 시간보다 시작하는 시간이 더 크거나 같은 것 찾기 cnt += 1 return find(j, cnt) # 또 찾기 return cnt print(find(0, 1))
-
해결됨(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
안녕하세요 선생님! 왜 Log를 취해주는지 궁금합니다.
선생님 안녕하세요! 앞에서, 하루 단위의 종목의 ratio같은 경우는 Log를 씌어주지 않았는데, 5분 단위의 data는 왜 log를 씌어주는지 궁금합니다! (scale이 큰것도 아닌데 왜 앞이랑 차이가 나는지 궁금하네요!)
-
해결됨파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
데이터구조- 리스트 1,2 배우면서 이상한점 ..
리스트가 너무 이상하게나와요 ㅠ - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기 - 섹션1 [2/2]
데이터 전처리 과정에서 이해되지 않는 부분이 있습니다.import pandas as pdimport FinanceDataReader as fdrdf_krx = fdr.StockListing('KRX') df_krx 로 데이터를 확인했습니다.ㄴ일부 컬럼 (ex.Dept)에 결측치가 있습니다. <- 값이 비어있습니다. Nan 값으로 채워진 것은 아닙니다.ㄴ이 때 info() 메소드와 df_krx.isnull()로 확인해보면 null값이 없는 것으로 나오고 isnull() 또한 모두 false가 나오는데 원인을 모르겠습니다. ㄴ이후 to_csv 메소드를 사용하여 파일을 저장한 후 저장한 파일을 읽어왔을 때는 해당 값들이 NaN 값으로 바뀌어 있는데요. 원인이 무엇일까요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
None tpye 에러가 발생해서 if문을 여러번 작성했는데 줄이는 방법이 있나요?
# warning 어쩌구 뜨면 쓰는건데 굳이 안써도 됨 import urllib3 urllib3.disable_warnings() # text None Type 에러 일 시 header를 추가해준다. # SSLdError 발생 시 verify옵션 추가해준다. header = { 'User-Agent' : 'Mozilla/5.0', 'Referer' : 'https://www.riss.kr/search/Search.do?isDetailSearch=N&searchGubun=true&viewYn=OP&queryText=&strQuery=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&exQuery=&exQueryText=&order=%2FDESC&onHanja=false&strSort=RANK&p_year1=&p_year2=&iStartCount=0&orderBy=&mat_type=&mat_subtype=&fulltext_kind=&t_gubun=&learning_type=&ccl_code=&inside_outside=&fric_yn=&db_type=&image_yn=&gubun=&kdc=&ttsUseYn=&l_sub_code=&fsearchMethod=&sflag=1&isFDetailSearch=N&pageNumber=1&resultKeyword=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&fsearchSort=&fsearchOrder=&limiterList=&limiterListText=&facetList=&facetListText=&fsearchDB=&icate=re_a_kor&colName=re_a_kor&pageScale=100&isTab=Y®nm=&dorg_storage=&language=&language_code=&clickKeyword=&relationKeyword=&query=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5' } for article in articles: title = article.select_one(".title > a").text link = 'https://www.riss.kr' + article.select_one(".title > a").attrs['href'] # 상세 페이지로 요청 response = requests.get(link, headers=header, verify=False) html = response.text soup = BeautifulSoup(html, 'html.parser') # 2. 순서를 기준으로 찾기 if soup.find('span', string='발행기관'): press = soup.find('span', string='발행기관').find_next_sibling().text # find_next_sibling 옆에 있는 명령어를 찾아라 라는 명령문 else: press = [] if soup.find('span', string='발행연도'): year = soup.find('span', string='발행연도').find_next_sibling().text else: year = [] if soup.find('span', string='주제어'): keywords = soup.find('span', string='주제어').find_next_sibling().text.split(';' '') keywords_result = [] for keyword_for in keywords: keywords_result.append(keyword_for.strip()) else: keywords = [] print(title, link, press, year, keywords_result) # result = [] # for keyword in keywords: # result.append(keyword.strip())
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
lt, rt 관련
안녕하세요 선생님, 수업 잘 듣고있습니다 ㅎㅎ다름이 아니라, 섹션 3의 5.수들의 합 문제에서 궁금한 점이 있습니다import syssys.stdin = open("input.txt", 'r')n, m=map(int, input().split())a=list(map(int, input().split()))lt=0rt=1tot=a[0]cnt=0while True: if tot<m: if rt<n: tot+=a[rt] rt+=1 else: break elif tot==m: cnt+=1 tot-=a[lt] lt+=1 else: tot-=a[lt] lt+=1print(cnt) 이 코드에서, 여기서 만약 rt가 맨끝까지 가서 n에갔지만 / lt는 n 이전까지도 못왔다면(예를 들면 lt는 3인데 rt는 n인 경우) 이건 논리에 어긋나지 않나 궁금해서 질문드렷습니다. 항상 좋은강의 감사합니다.
-
미해결실시간 트렌드 홈페이지 개발(파이썬 크롤링 + Flask)
강의 교육자료 변경됨?
크롤링한 데이터 html에 보여주기 부분에서 다음 사이트에 있는 인기 순위를 가져올려고 했는데 사이트 업그레이드?때문인가 인기순위가 안보여요. 어떻게 하면 좋을까요?
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
사전형 데이터 타입 vs JSON 데이터 타입
JSON 데이터와 파이썬의 사전형 타입에 대해서 알고있는것도 좋을거 같아요!밑에는 Chat GPT쪽에서 물어본 결과입니다. 참고하세요 🙂 파이썬 사전형 데이터 (Dictionary) • 내부 구성: 키-값 쌍으로 이루어져 있어. 예를 들어 { "name": "Alice", "age": 25 } 같은 식이야.• 사용 방법: 파이썬 내부에서 데이터를 쉽게 다루기 위해 만들어졌어.• 기능: 추가, 삭제, 수정 등의 다양한 기능을 가지고 있어. 예를 들어, my_dict["name"]으로 “Alice”를 불러올 수 있어. JSON 데이터 (JavaScript Object Notation) • 내부 구성: 역시 키-값 쌍으로 이루어져 있지만, 텍스트 기반 포맷이야. 예를 들어, "{"name": "Alice", "age": 25}"처럼 문자열로 표현돼.• 사용 방법: 주로 데이터를 주고받을 때 사용해. 웹 서버와 클라이언트 사이에서 데이터를 주고받을 때 많이 쓰여.• 기능: 데이터를 직렬화(serialize)하고 역직렬화(deserialize)하는데 초점이 맞춰져 있어. 예를 들어, 파이썬에서 JSON 문자열을 파이썬 사전형으로 변환하려면 json.loads()를 사용해. 차이점 요약 1. 포맷과 사용 목적: 파이썬 사전형은 파이썬 프로그램 내에서 사용하는 데이터 구조고, JSON은 주로 데이터 교환을 위한 텍스트 포맷이야.2. 표현 방식: 사전형은 파이썬 문법을 따르고, JSON은 텍스트 기반이라 언어에 관계없이 사용할 수 있어.3. 기능과 제약: 사전형은 다양한 조작이 가능하지만, JSON은 데이터를 주고받는 용도로 제한적인 기능을 갖고 있어.요약: -> 똑같이 생겼지만 사전형 데이터 타입은 파이썬의 세계관안에서 바로 사용이 가능하며, 파이썬 세계관안에서 자유롭게 구사 가능하다. -> JSON 데이터 타입은 직렬화와 역직렬화에 초점이 맞춰져있으며 주고 받기 위한 데이터 타입이다.다른 언어 세계관에 들어가면 디코딩 (역직렬화)가 필요하고 다른 언어 세계관으로 보낼때는 인코딩 (직렬화)가 필요하다.
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
고생했던? 케이스에 대해 선생님의 코드가 어떻게 들어맞는 지에 대한 질문이 있습니다. ㅠ
안녕하세요, 강의를 듣고 계신 여러분!여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요!강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지를 명확히 제시해 주시면 답변에 도움이 됩니다!자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의자신은 어떻게 이해했는지DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?안녕하세요!강의 잘 듣고 있습니다.백준 1461 그리디 마지막 문제에 대한 질문이 있는데요. 보기 전에 풀어보긴 했는데,두더지 잡다가 어떻게 된 느낌이긴 해요..음,, 아직 습관이 안 고쳐지기는 했는데 정의하고 분석하고 따져보고 그려본 다음에 해야 하는데,, 그 제가 처음 푼 방식은리스트 요소를 지워가며 해결하는 방식인데요양/음수가 m으로 떨어지지 않는 나머지 경우를 먼저 따져 합계에 더하고, 제거한 뒤먼 데부터 다녀오는데, 최댓값을 계속 갱신해서가장 먼 거리를 나중에 빼주는 방식으로 했어요..m으로 나누어 떨어지지 않는 경우에 대한 처리를 나중에 추가했는데요선생님의 코드가 어떻게 그 경우도 잘 처리하는 지 분석이 잘 안되어서..설명 부탁 드려요.. 아! 저번 설명 너무 감사합니다 더불어 약간 공부하는 루틴?이랄까? 그런 것도 말씀해 주실 수 있는 게 있다면 혹시 말씀 부탁드려요..(코테 공부도 그렇고 다른 것도 그렇고..) 아래는 제가 처음 정답 받은 코드입니다.(코드가 지저분함에 죄송해요..)import sys input = sys.stdin.readline # 방향을 결정하고 상자 들고 다음에 처음 갈 책 위치를 반환합니다. def getPos(arr): global direction maximum = max(map(abs, arr)) if maximum in arr: if len(arr) > m: direction = False if min(arr) >= 0: direction = True return 0 for i in range(len(arr) - 1, -1, -1): if arr[i] < 0: return i else: direction = True for i in range(len(arr)): if arr[i] >= 0: return i else: if len(arr) > m: direction = True if max(arr) < 0: direction = False return len(arr) - 1 for i in range(len(arr)): if arr[i] >= 0: return i else: direction = False for i in range(len(arr) - 1, -1, -1): if arr[i] < 0: return i return -1 n, m = map(int, input().rstrip().split()) arr = list(sorted(map(int, input().rstrip().split()))) cnt = 0; direction = True; reach = 0; plusCount = 0; minusCount = 0 #양수/음수 따로 헀어야 좋았는데, 하다보니 개수 세는 걸 만들었어요.. def count(): global plusCount, minusCount for i in arr: if i >= 0: plusCount += 1 elif i < 0 : minusCount += 1 count() #양수 m으로 나누어 떨어지지 않을 경우에 대한 처리입니다. if plusCount % m != 0: mini = min(i for i in arr if i >= 0) idx1 = arr.index(mini) idx2 = min(arr.index(mini) + (plusCount % m), len(arr)) reach = arr[idx2 - 1] for i in range(idx1, idx2): arr.remove(arr[idx1]) cnt += reach * 2 #음수 m으로 나누어 떨어지지 않을 경우에 대한 처리입니다. if minusCount % m != 0: maxi = max(i for i in arr if i < 0) idx1 = arr.index(maxi) idx2 = max(arr.index(maxi) - (minusCount % m), -1) far = abs(arr[idx2 + 1]) for i in range(idx1, idx2, -1): arr.remove(arr[idx2 + 1]) cnt += far * 2 reach = max(reach, far) # 이럴 필요 없는데, 돌면서 먼 데 구하고 그 안쪽? 지우는 방식으로 했어요.. while arr: pos = getPos(arr) far = abs(arr[min(len(arr) - 1, pos + m - 1) if direction else max(0, pos - m + 1)]) for i in range(m): if not arr: break arr.remove(arr[pos]) if not direction or pos == len(arr): pos = max(pos - 1, 0) cnt += far * 2 reach = max(reach, far) print(cnt - reach)
-
미해결[2024 개정판] 코딩 입문자를 위한 파이썬 완벽가이드
실습문제 9 쿼리
문제에 풀어주신 쿼리랑 이 쿼리랑 비교했을 때많이 비효율적인가요? # 9 while True : password = int(input('비밀번호를 입력하세요.')) if password == 1234 : print('로그인 성공!') break else : print('로그인 실패!')
-
해결됨실리콘밸리 엔지니어와 함께하는 OpenAI API (ChatGPT)
강의 자료 받을수 있을까요?
강사님 강의 잘 듣고 있습니다. 혹시 강의 과정에서 사용하신 강의 자료 통합본 형태로 받아 볼수 있을 까요? 현재 일부 강의만 해당 자료만 받을수 있어서 문의 드립니다.
-
해결됨초보자를 위한 쉬운 파이썬 기초와 데이터 분석
5번째 강의 jupyter notebook 사용법 에서 19초 부분 질문
19초에 보면 이것들이 다 세팅되어있다는 존재하에 강의를 진행한다고 하셨는데여. 탐색영역에서 현재 있는 폴더와 파일들의 ipymb파일들이 쭈욱 나오는데 이건 어디서 받는건가요? 28초에 BS코드를 열어가지고 bs코드창을 띄우셨는데 이건 어떻게 띄우는건가요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
실행 파일을 만들 때 모든 파일이 동일한 Dir에 있어야 하나요?
실행 파일을 생성시에 사용된 모든 파일이 동일 디렉토리에 있어야 하나요?(재활용을 위해 Function을 만들어서, Function 폴더에 저장함) 아래는 제가 작업했던 내용 및 에러입니다.============================ Python 폴더 아래와 같이 폴더가 있습니다.ProjectGUIFunctionProject 폴더에 실행할 a.py 파일이 있고a.py에서는 GUI, Function 폴더에 있는 ui와 function 들을 사용합니다. vs code 상에서 실행하면 문제 없이 실행이 됩니다. 실행 파일을 만들기 위해 Project dir로 이동하고, 아래와 같이 실행하여 exe 파일을 생성했습니다.E:\python\Project> pyinstaller -w -F 네이버부동산_상가.py 파일을 실행하니 아래와 같이 나타납니다. import sys, os try: sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__)))) except: notebook_dir = os.getcwd() sys.path.append(os.path.dirname(os.path.abspath(notebook_dir))) from PySide6.QtWidgets import QApplication, QWidget, QMessageBox from GUI.naverland_SG_ui import Ui_Form from GUI.Naver_map import * from Functions.Naver_land import * import sys import requests import json import math class MainWindow(QWidget, Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.file_path = os.getcwd() + r'\data' # 지역 초기화 self.loc1.clear() self.loc1.addItem('') self.loc2.clear() self.loc2.addItem('') self.loc3.clear() self.loc3.addItem('')
-
미해결챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기
설치 오류
아나콘다 프롬프트에서 파이썬 정상 설치 후 platform 입력 시 syntax error 가 뜹니다 ㅠ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
비쥬얼 스튜디오에서는 되는데 명령 프롬포트에선 실행되지 않습니다
프롬포트 C:\>C:\infrun\qwer\python1.0_source\source_code\chapter10_011.pywhat is your nameiyshi iys time to play hangman manstart loadingTraceback (most recent call last): File "C:\infrun\qwer\python1.0_source\source_code\chapter10_011.py", line 21, in <module> with open('source_code/resource/word_list.csv','r') as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^FileNotFoundError: [Errno 2] No such file or directory: 'source_code/resource/word_list.csv' 비쥬얼 스튜디오import time import csv import random import winsound name = input('what is your name') print('hi',name,'time to play hangman man') print() time.sleep(1) print('start loading') print() time.sleep(0.5) words=[] with open('source_code/resource/word_list.csv','r') as f: reader = csv.reader(f) next(reader) for c in reader: words.append(c) random.shuffle(words) q = random.choice(words) words=q[0].strip()
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
2차원 dp 11:45분에서 하상좌우 순서에 의미가 있나요?
상하좌우 순서 고쳐주셨다고 하셔서 그냥 순서 바꿔서 해봤더니 값이 다르게 나오네요.. 이해가 안됩니다 센세 ㅠㅠ흑흑
-
미해결웹크롤링 with 파이썬
pycharm setting에서 질문 드려요.
안녕하세요? pycharm 세팅에서 python interpreter 설정 시 설정한 패키지가 보이지 않아서요ㅠㅡㅠ 여러번 다시 따라했는데 안되는데 방법이 있을까요?ㅜ.ㅜ