SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb0 in position 6: invalid start byte 비주얼 스튜디오로 코드 실행 시, 위와 같은 오류가 뜹니다. 유니코드에 대한 에러라고 뜨는데 , 해결방법이 궁금합니다. 제가 작성한 코드는 다음과 같습니다. # K 번째 약수 풀이 import sys sys.stdin = open("input.txt", "rt") # 1. 내 풀이 n, k = map(int, input().split()) var = list() for i in range(1, n + 1): if n % i == 0: var.append(i) if len(var) >= k: print(var[k - 1]) else: print(-1) ''' # 2. 강의 풀이 n , k = map(int, input().split()) cnt = 0 for i in range(1, n + 1): if n % i == 0: cnt += 1 # 약수의 개수 저장 if cnt == k: # k 번째 약수일 때, i 출력 print(i) break # 약수 출력 후, 반복문 탈출 # for ~ else 구문 : 반복문이 탈출되지 않고 정상적으로 모두 돌고 종료된 경우, else 구문 실행 else: # for 문이 정상 종료, 즉 약수의 개수가 K개 미만일 경우 실행 print(-1) '''
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 웹기본 - 크롤링을 위한 지식: 웹구조와 HTML 이해하기3 3분 40초 코드는 이렇게 썻는데 이미지는 엑박만 뜹니다 ㅠ 그리고 다른 강의 수업자료(아래) 주피터노트북으로 열때도 이미지가 엑박으로 보이던 부분이있었습니다. 연관이 있을거 같은데 이미지를 이미지로 못받는거같은데 해결방법이 있을까요?
안녕하세요. 귀중한 조언 감사드립니다. 파이썬 이제 막 기초를 끝낸 파이썬 초보입니다. 책과 강의로 파이썬 기초서적을 3회독 점도 하였고, 별도로, pandas, numpy, matplotlib, 셀레니움 라이브러리를 공부했습니다. (질문) 저는 전문 프로그래머나 개발자는 아니고, 별도의 사업과 투자를 하는 사람입니다. 제 사업이나 주식, 부동산 자료분석에 활용하고자 파이썬이라는 도구를 활용하려는 것입니다. ● 주로, 방대한 인터넷 세계에서 제가 원하는 자료만을 크롤링해 올수 있는 방법으로 활용 ● 그 크롤링한 자료들을 a. 제가 지정한 폴더에 한번에 다운로드 받거나 (예컨대, 이미지 파일들을 폴더에 대량으로 다운받거나) b. 제가 원하는 크롤링한 내용들(글자 내용 등)을 엑셀에다가 일목요연하게 정리되게 출력해주는 식으로 활용도 해 나가고.. (예컨대, 네이버 연관검색어를 쫙 모아서 엑셀에다가 정리해준다던지) ● 그렇게 크롤링되어 엑셀로 재정리된 그 자료를 데이터 분석도 하고, 그래프도 만들고, 통계도 만들고 아울러 ● 업무 자동화도 만들어나가는 식으로 파이썬을 활용해나갈 것을 염두에 두고 있습니다. =================================== 결국, 크롤링, 엑셀연동, 데이터분석, 업무자동화용으로 파이썬을 활용하고자 합니다. ■ 파이썬 기초에 + 판다스, 셀레니움, 넘파이, matplotlib를 공부한 상태인데 크롤링, 엑셀연동, 데이터분석, 업무자동화용으로 파이썬을 활용하려면 여기에, 어떤어떤 라이브러리(모듈)을 추가로 공부해나가야 하는지, 여기에 자주 사용하는 라이브러리(모듈)은 무엇무엇이 있는지 질문드립니다. 귀중한 답변 정말 감사드립니다. 오늘도 좋은 하루 되세요 ^^
안녕하세요 영한님 항상 좋은 강의 감사드립니다 Accept-Language를 적용하게되면 요청시 서버가 클라이언트가 요청한 언어에 최대한 맞는 언어로 응답을 보낸다고 말씀하셨는데 이 때, 다중 언어 지원 서버라고 하는 것은 HTML Language가 EN, KO로 모두 작성되어있어서 백엔드(웹프레임워크)단에서 언어에 따른 HTML 취사선택이 가능하도록 구현되어있을 경우를 이야기하는 것인지 궁금합니다. 연말이 다가오고 있습니다 코로나 확진자도 많아지는데 질문 답변해주시는 서포터님들께 항상 감사드리고 코로나 조심하시고 연말 따뜻하고 건강하게 보내시길 바라겠습니다!
import sys sys.stdin = open('2_9.txt', 'rt') def findDupValue(value): n_counter = {} for n in value: if n not in n_counter : n_counter[n] = 1 else : n_counter[n] += 1 if n_counter[n] == 2: return n N = int(input()) dice = [] cnt_dice = [] prize = [] for i in range(N): dice.append(list(map(int, input().split()))) cnt_dice.append(len(set(dice[i]))) for value, cnt in zip(dice, cnt_dice): if cnt == 1 : prize.append(10000 + (value[0]) * 1000) elif cnt == 2 : prize.append(1000 + (findDupValue(value)) * 100) else : prize.append(max(value) * 100) print(max(prize)) for문을 2개 쓴게 걸리는데 이런 코드는 어떤가요? 입력받을 때 주사위 값을 묶어서 배열로 저장하는 dice 리스트와 set으로 받아서 길이를 저장하는 cnt_dice 리스트를 사용했고 cnt 리스트가 2이면 findDupValue 함수에서 dictionary를 사용해서 다시 카운팅해 중복되는 숫자를 찾아 계산하는 코드입니다.
강의가 너무 유익해서 시간가는줄 모르고 잘 보고있습니다. 좋은 강의 만들어주셔서 대단히 감사합니다. 하지만 강의를 보다가 이해가 잘 안되는 부분이 있어서 질문 드립니다. 강의시간이 1:50 쯤의 그림을 보면서 "socket 라이브러리를 통해 전달" 한다는 것이 이해가 잘 되지 않았습니다. 이 말을 저는 socket 라이브러리가 알아서 3handshake를 해서 연결상태를 보장받고 이후 TCP/IP 패킷을 생성하고 http 메시지를 담아 보내는 것으로 이해했습니다. 그런데 이 과정 중 3handshake와 socket library에 모호한 점이 있었습니다. 1-1. socket 라이브러리에서 3 hand shake 를 그림에서의 과정과 다르게 별도로 진행하여 연결이 되었다고 판단되면, 패킷 생성하고 네트워크 인터페이스 레이어를 지나 인터넷을 통해 서버로 전달. 즉, http 통신 프로세스와는 별개로 따로 서버와 syn / syn+ack / ack 만 주고받는 통신진행을 진행하는지 1-2. 아니면 전체 프로세스(강의에서 제공한 그림처럼)를 http 메세지와 syn이 포함된 TCP/IP 패킷을 생성하여 3번( syn / syn+ack / ack) 진행하는지 만약 1-1번 처럼 socket 라이브러리에서 따로 서버측과 syn / syn+ack / ack 을 통신한다면, 2-1. 최초 서버로 http 요청시 socket 라이브러리에서 3handshake를 실패시 http 요청 자체가 보내지지 않는건지. 그렇게 되면 클라이언트는 어떠한 응답도 못받는 상태가 되는건가요? 2-2. socket 라이브러리에서 3handshake를 하는 과정도 동일하게 TCP/IP 패킷을 생성하는지, 단순히 syn / syn+ack / ack 만 보내는지 궁금합니다. 3-1. 마지막으로 궁금한 것은 socket 라이브러리가 이런 것을 담당한다면 TCP를 이용한다면 반드시 socket 라이브러리를 써야하는 건지 궁금합니다. socket 라이브러리도 대체 가능한지 궁금합니다.
안녕하세요. 너무 잘보고있는데요. 한가지 DNS서버에 조회 해서 웹브라우저에 받아오는 일련의 과정이 조금 헷갈려서 질문드립니다. 1.웹브라우저에서 구글서버로 접속하기위해 1) 먼저 DNS에 접속하여 IP주소와 port정보를 찾아냅니다. 2)그후에 DNS서버로부터 받아온 정보로 HTTP요청 메시지를 생성하는데요. 그럼 https://www.google.com:443/ 까지는 웹브라우저에서 DNS서버를 가서 조회를 해서 IP주소와 port 정보를 조회하여 그 정보만 요청한 웹 브라우저로 넘겨주게되고, 웹브라우저는 다시 DNS서버로 부터 받은 IP주소와port정보를 포함하여 HTTP요청 메시지를 만드는데 그 안에는 path뒤 부터인 /search?q=hello&hl=ko가 구글 서버에 접속해서 관련 정보를 받아온다고 생각하면되는게 맞나요? 그런데 이게 맞다면 1분11초 HTTP메시지에 Host는 www.google.com이고, 또 따로 패킷에 받아온 구글 IP주소 를 to에다가 200.200.200.2로 보내는게 맞는지가 궁금합니다. (제가 생각했을때는 DNS서버로 부터 받아온 IP주소를 Host에다가 200.200.200.2라고 적으면 된다고 생각했었는데, 다시 www.google.com이라고 적어놓으셔서 그럼 HTTP요청 메시지 패킷을 전송할때는 www.google.com와 IP주소 200.200.200.2가 모두 필요한걸까? 라는 의문이 들어서요.) 2. search가 path인데요. 그럼 예를들어 구글 서버 자체에 serarch라는 디렉토리가 있는건가요? 그래서 그 serarch안에 q=hello&hl=ko의 해당정보가 들어있는건가요?... 3. DNS서버도 따로 존재? 한다고 들었는데, 이게 또 SK, LG, KT 등 통신사에 등록이 되어있다고 들었습니다. 혹시 SK의 경우 DNS서버홈페이지같은거는 어디서 알 수 있을까요? 한 번 들어가서 구경하고 싶은데.. 검색해도 안나와서요. 3-1 또 DNS서버로 요청할때도 3way handshake로 동작해서 패킷단위로 던져지는게 맞나요? 4. 제가 생각했을때 http https ftp smtp 마다 호칭을 HTTP요청메시지 or HTTPS요청메시지 or FTP요청메시지 or SMTP요청메시지 이런식으로 각각 따로 불려야 될 것 같은데.. 이거를 그냥 어떤 프로토콜을 사용하던지 'HTTP요청메시지' 라고 통용해서 사용하는 건가요? 5. 1분49초 시작부터 , 이해가 잘 가지않는데요. 그럼 지금 이 HTTP메시지 전송과정 전에 이미 DNS서버를 가서 IP주소랑 port번호를 찾아 온후! 진행되는 과정이라는 가정하에 IP주소랑 port번호를 찾았다고 말씀하시는거죠? 그리고 1)소켓라이브러리를 통해서 먼저 찾은IP주소와port번호로 2)syn- syn ack - ack 해서 (가상)구글 서버와 연결을 한 후 3) OS계층인 TCP/IP 로 전달을 합니다. 그다음 패킷을 씌운후 인터넷망으로 던져진다! 순서과정을 이렇게 이해하면 될까요?
안녕하세요. 커리큘럼 관련되서 질문드리고자 이렇게 글 올립니다. 저는 일단 C++을 사용하는데 있어 큰 무리없이 사용하는 편입니다. (modern c++포함) 반면 C#은 거의 모르는 상태인데요, 강사님 커리큘럼중에 C#을 이용해서 MMORPG를 만드는 커리큘럼도 있던데 아래처럼 병행해서 커리큘럼을 짜도 될지 궁금해서 문의 드립니다. [C#과 유니티로 만드는 MMORPG게임 개발시리즈] Part1, Part3, Part7, Part9 만 듣고, [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4 이렇게 들어서 일단 Unreal 로 연동하는 강의가 나올때까지, 유니티 2D게임을 C++게임서버에 연동해보고 싶은데요, 굳이 C# 게임서버 제작 강의를 들어야할 필요가 있을까요?? C#으로 게임서버를 만들어야겠다는 생각이 들면 듣겠지만, 지금은 우선 게임 클라이언트 자체를 서버에 연동시키는것(구체적으로 맵을 어떻게 서버에서 처리하고, 스킬이나 hit 판정을 어떤식으로 하는지에 대한 것들)을 목표로 하고 있는데, C#게임서버 강의랑 C++ 게임서버 강의가 겹치는 부분이 많아서 C#게임서버 강의를 통해 들어야할지 고민이 됩니다. 결론으로 C# 강의 Part1, Part3, Part7, Part9 와 C++강의 Part4 이렇게 병행하는데, 무리 없이 커리큘럼을 수행할 수 있는지 궁금합니다. 긴글 읽어주셔서 감사드리며, 항상 좋은 강의 올려주셔서 감사합니다.!!!
안녕하세요 영한님 항상 좋은 강의 감사드립니다 :) 다름이 아니라 DNS를 공부하면서 의문이 드는 점이 있어 질문드리려고 합니다. 우리가 통상적으로 브라우저에 도메인 이름을 입력하면, DNS에 요청이 들어가고 DNS에서 응답이 오면 반환된 IP를 이용하여 서버로 접속요청을 한다... 라는 맥락으로 강의 내용을 이해했습니다. 그런데 종종 도메인 이름이 아니라 IP를 직접 입력하여 접속을 하는 경우도 있습니다(192.168.0.1)이나 공유기 아이피 접속... 여러가지가 있겠습니다. 질문 요지는 이렇습니다 DNS에 굳이 접속하지 않아도 되는 이런 IP로 접속했을때는 DNS서버로 요청을 보내지 않을 것 같습니다. 그렇다면 DNS로 요청을 보낼지 말지 결정하는 주체는 브라우저인지,,, 누가 결정하는 것인지 궁금합니다. 감사합니다!
안녕하세요. 김영한강사님. 수업이 너무 유익하여 감사히 잘 듣고 있습니답. 다름이 아니라 강의를 듣다가 강사님께서 TCP에는 손을 못대고 자기가 직접 최적화 하고 싶은것은 애플리케이션 레벨에서 UDP에다가 내가 원하는걸 만들어 내면 된다고 하셨는데 이미지를 보면 UDP는 전송계층이라고 되어있는데 왜 UDP라는 곳에 내가 원하는 데이터를 담을때 애플리케이션 레벨에서 담는다고 표현을 하신걸까요..?
강사님 안녕하세요~ 서버가 잘 죽는데~ 실제로 장고를 배포하고 서비스를 24시간 7일 운영하려면 서버가 안전성이 있어야 하는데~ 혹시 코드를 안전하게 구현을 못해서 강습보며 따라할때 잘 죽는건가요? 아니면 장고 프래임워크로 짠 서버가 원래 잘 죽는건가요? 스프링보다 장고가 훨씬 시장이 작은데 강습보며 연습하다 서버가 잘 주는걸 보고 장고 웹 프레임워크가 성능이 안좋아서 장고 쓰는 회사가 스프링에 비해 적은건가? 라는 스스로 걱정이 있어서 질문드립니다~
교수님 안녕하세요 . 개정되고 나서 다시 정주행 하고 있고 있습니다. 좋은 강의 감사드리고 교수님 강의들 머신러닝과 오라클 강의 또한 아주 잘 듣고 있습니다. 교수님 Yolo v3 Custom Dataset으로 학습 후 아래와 같이 텐소보드를 통한 결과 같은데 이 부분을 어떻게 해석을 하고 보완을 해야할 지 강좌 내용에는 아래와 같은 Train 에 대한 학습 Result 를 하는 내용을 아직 제가 찾지 못해서 데이터를 분석하고 이해하는 법을 알고자 이렇게 두루뭉실하게라도 여쭙니다. 감사합니다.
안녕하세요 강의 잘 듣고 있습니다. 마라톤 데이터 가공 2 강의를 듣던 중 Step 5단계에서 오류가 발생합니다. 사용하고 있는 파이썬 버전은 3.8.12이고 pandas 버전은 1.3.4입니다. 강의 내용대로 순차적으로 실습 진행 중 Step 5단계에서 오류가 발생하여 Step 5단계의 다른 내용을 모두 주석 후에 marathon_2015_2017['5K'] = pd.to_timedelta(marathon_2015_2017['5K']) 이 코드만 실행해 보았는데요 그럼에도 오류가 발생합니다. 혹시나 해서 csv파일을 열어 보았는데 시간데이터 중 '-' 로 표시된 부분이 종종 있었습니다. 제 생각에는 '-'라는 문자가 있으니 null도 아니고 시간데이터도 아니다 보니 문제가 발생하는 것 같은 예감입니다. 아래에 오류 내용을 그대로 첨부하겠습니다. 도움 주시면 감사하겠습니다. --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.array_to_timedelta64 () /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.parse_timedelta_string () ValueError : symbols w/o a number During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) /var/folders/zl/7hy5k6z55zz2b286tv4bbk740000gn/T/ipykernel_48790/1493613945.py in <module> 6 7 # Convert using pandas to_timedelta method ----> 8 marathon_2015_2017 [ '5K' ] = pd . to_timedelta ( marathon_2015_2017 [ '5K' ] ) 9 # marathon_2015_2017['10K'] = pd.to_timedelta(marathon_2015_2017['10K']) 10 # marathon_2015_2017['15K'] = pd.to_timedelta(marathon_2015_2017['15K']) /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/core/tools/timedeltas.py in to_timedelta (arg, unit, errors) 122 return arg 123 elif isinstance ( arg , ABCSeries ) : --> 124 values = _convert_listlike ( arg . _values , unit = unit , errors = errors ) 125 return arg . _constructor ( values , index = arg . index , name = arg . name ) 126 elif isinstance ( arg , ABCIndex ) : /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/core/tools/timedeltas.py in _convert_listlike (arg, unit, errors, name) 171 172 try : --> 173 td64arr = sequence_to_td64ns ( arg , unit = unit , errors = errors , copy = False ) [ 0 ] 174 except ValueError : 175 if errors == "ignore" : /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/core/arrays/timedeltas.py in sequence_to_td64ns (data, copy, unit, errors) 989 if is_object_dtype ( data . dtype ) or is_string_dtype ( data . dtype ) : 990 # no need to make a copy, need to convert if string-dtyped --> 991 data = objects_to_td64ns ( data , unit = unit , errors = errors ) 992 copy = False 993 /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/core/arrays/timedeltas.py in objects_to_td64ns (data, unit, errors) 1098 values = np . array ( data , dtype = np . object_ , copy = False ) 1099 -> 1100 result = array_to_timedelta64 ( values , unit = unit , errors = errors ) 1101 return result . view ( "timedelta64[ns]" ) 1102 /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.array_to_timedelta64 () /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.array_to_timedelta64 () /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.convert_to_timedelta64 () /opt/homebrew/Caskroom/miniforge/base/envs/DV/lib/python3.8/site-packages/pandas/_libs/tslibs/timedeltas.pyx in pandas._libs.tslibs.timedeltas.parse_timedelta_string () ValueError : symbols w/o a number