66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
imagefont 함수 사용
font = ImageFont.truetype("malgun.ttf", 17)text_w, text_h = font.getsize(text) 상기 코드에서 getsize함수가 오류가 납니다. 찾아보니 Pillow라이브러리가 버전업이 되면서 없어졌다고 하는 것 같습니다. 대체하는 함수가 따로 있을까요?
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
pylint
visual studio에서 pylint 저장까지 다 했는데 view에서 command palette에 들어가서 python: select linter가 안떠요.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
add 함수 문의 ㅠㅠ
c = 10 def add(a,b): global c c = a+b return c b = add(1,10) print(b,c)여기서 왜 11 11이 나오는지 모르겠어요b는 add(1,10) 이니까 11이 맞는거 같은데c= global 이라 밖에 10을 쓴다고 했는데요c는 10 이 맞지 않나요?
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
형식 문의드립니다.
2분51초에 print("소님이 {} 명 입니다.".format(guest))이렇게 쓰셨는데.format, .get 이런 함수들을 쓰시던데 .xx가 어떤 기준으로 쓰는지 어떨 때 get or format 등등 쓰는지 궁금합니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
18분 53초에 변수 명을 왜 src, tar로 하셨는지 궁금합니다.다르게 지어도 상관없다는 것 정도는 알지만 넘모 궁금해서 여쭙슴다
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
# v2: 안 보고 만들기 (23.11.21)from random import randintfrom os import systemanswer = []num = str(randint(0, 9))for i in range(3): while num in answer: num = str(randint(0, 9)) answer.append(num)strikes = 0balls = 0system('cls')while strikes < 3: user_input = str(input("3자리 숫자를 입력해 주세요.")) if len(user_input) != 3: print("3자리 자연수를 입력해주세요.") continue if not user_input.isdigit(): print("문자 말고 숫자를 입력해주세요.") continue if user_input[0] == user_input[1] or user_input[1] == user_input[2] or user_input[0] == user_input[2]: print("중복된 숫자 없이 입력해주세요.") continue strikes = 0 balls = 0 # 숫자 비교 for i in user_input: for j in answer: if i in answer and i == j: strikes += 1 if i in answer and i != j: balls += 1 if strikes != 3: print(f"{strikes} 스트라이크, {balls} 볼") else: print("성공!") 37, 39에서 저는 i in answer를 써 봤는데요. 막 2 스트라이크 4 볼이 나오고 그런 현상이 생깁니다ㅠㅠ
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
zsh: command not found: pylint
안녕하세요.pylint를 수동 설치했는데 command palette에서 linter가 검색되지 않습니다.설치를 위해 pip3 install pylint 라는 명령어(?)를 입력했고, 그러면 아래와 같은 코드(?)가 나옵니다.Defaulting to user installation because normal site-packages is not writeableRequirement already satisfied: pylint in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (3.0.2)Requirement already satisfied: platformdirs>=2.2.0 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (4.0.0)Requirement already satisfied: astroid<=3.1.0-dev0,>=3.0.1 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (3.0.1)Requirement already satisfied: isort<6,>=4.2.5 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (5.12.0)Requirement already satisfied: mccabe<0.8,>=0.6 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (0.7.0)Requirement already satisfied: tomlkit>=0.10.1 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (0.12.2)Requirement already satisfied: dill>=0.3.6 in /Users/dahyunkang/Library/Python/3.11/lib/python/site-packages (from pylint) (0.3.7)구글에서 해결 방법을 찾아보려고 했는데 도저히 뭘 하라는 건지 모르겠어서... ㅠㅠㅠ 질문 드립니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
안녕하세요, 좋은 강의 보고 따라하면서 학습중입니다.좋은강의 정말 감ㅅㅏ드립니다..지금 텔레그램 봇 만들기 - 날씨 / 환율 응답, 컴퓨터 파일전송 기능 강의를 수강중입니다. /dir [대상폴더] 는 잘 구현이 되었는데/getfile /Users/사용자/test.txt로 파일 전송 기능이 구현이 안됩니다..디버깅으로 로그를 봐도 모르겠어서 질문 남깁니다!! 미리 감사드립니다.스크린샷도 같이 첨부드립니다!참고로 맥북으로 진행중입니다. [1] 디버깅[2] 기능구현 x/dir /Users/Desktop 입력하면 데스크탑 파일목록 나옴.[3] 코드import telepot import logging import os logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) telegram_token = "6129613380:AAGbL2T-ogOaIK4v2YTPe4zTD9pzBikKLEA" # 파일 경로 찾기 def get_dir_list(dir): str_list = "" if os.path.exists(dir): file_list = os.listdir(dir) file_list.sort() for f in file_list : full_path = os.path.join(dir,f) if os.path.isdir(full_path): f = "[" + f + "]" str_list += f str_list += "\n" str_list.strip() return str_list def handler(msg): content_type, chat_Type, chat_id, msg_date, msg_id = telepot.glance(msg, long=True) print(msg) # if content_type == "text" : # bot.sendMessage(chat_id, "[반사] {}".format(msg["text"])) # /dir c:\\workspace if content_type == "text": str_message = msg["text"] if str_message[0:1] == "/": args = str_message.split(" ") command = args[0] del args[0] if command == "/dir": filepath = " ".join(args) if filepath.strip() == " ": bot.sendMessage(chat_id, "/dir [대상폴더]로 입력해주세요.") else: filelist = get_dir_list(filepath) bot.sendMessage(chat_id,filelist) elif command[0:4] == "/get": filepath = " ".join(args) if os.path.exists(filepath): try: if command == "/getfile": bot.sendDocument(chat_id, open(filepath, "rb")) elif command == "/getimage": bot.sendPhoto(chat_id, open(filepath, "rb")) elif command == "/getaudio": bot.sendAudio(chat_id, open(filepath, "rb")) elif command == "getvideo" : #/getvideo c:\test\movie.mp4 bot.sendVideo(chat_id, open(filepath, "rb")) except Exception as e: bot.sendMessage(chat_id, "파일 전송 실패 {}".format(e)) else : bot.sendMessage(chat_id, "파일이 존재하지 않습니다.") bot = telepot.Bot(telegram_token) bot.message_loop(handler,run_forever=True)
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
질문드립니다.
사용자 입력 예외처리를 하고 있는데,1)문자 입력 시 오류2)3자리 숫자가 아닐 경우 오류다음과 같이 코드를 짰는데 1)의 경우 except 부분에서 "입력 오류"를 출력하지만 2)의 경우 "입력오류"가 출력되지 않고 그냥 재입력하게 되네요.혹시 이유를 알 수 있나요?또한문자 입력 시 "숫자만 입력 가능합니다"를 출력두자리수 입력 시 "세 자리 수를 입력하세요"를 출력하도록 하려면 코드를 어떻게 수정해야 할까요?감사합니다.!#세 자리 숫자만 입력할 수 있게 하는 함수 def input_check(msg, casting = int): while True: try: num = input(msg) # 사용자 입력 num_str = str(num) #맨 앞의 수가 0일경우 0이 잘려버리기 때문에 str을 따로 저장 if(casting(num) and len(num) == 3): return num_str except: print("입력 오류") continue
- 해결됨남박사의 파이썬 기초부터 실전 100% 활용
list.reverse() 출력에 대해서 질문있습니다.
안녕하세요. 남박사님. list() 데이터 구조에서 reverse() 메서드의 결과값이 이해가 안되서 질문을 남기게 되었습니다.a=[4,5,6,1,2,3] a.sort() print(a) b=[4,5,6,1,2,3] b.reverse() print(b)[1, 2, 3, 4, 5, 6] [3, 2, 1, 6, 5, 4]sort()는 정방향 정렬, reverse()는 역방향 정렬이라고 배웠는데요. 역방향 정렬의 결과값이 제가 생각했을 때는 [6,5,4,3,2,1]로 출력되어야 할것 같은데 제 예상과는 반대로 [3,2,1,6,5,4]로 출력되고 있습니다. 왜 그런지 궁금합니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
데코레이터 함수 및 동작시간 질문입니다.~
남박사님 안녕하세요~. 수업 재밌게 듣고 있습니다.아래 코드의 클로져에 대한 내용은 이해했습니다.import time def time_checker(func): def inner_function(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(type(result)) print("함수 {} 동작시간 {}".format(func.__name__, end_time-start_time)) return result return inner_function def test1(): for i in range(5): time.sleep(0.1) f = time_checker(test1) f()1. f= time_checker(test1) time_checker 실행하여 f에 inner_function 리턴 후, result에 test1()의 값(None) 담음2.f() inner_function 실행하여 print() 및 test1()의 값 리턴문제는 데코레이터 부분인데, 로직에 대한 제 생각이 맞는지 질문드립니다.@time_checker # test1 = time_checker(test1) def test1(): for i in range(5): time.sleep(0.1) test1()1.@time_checker [ #test1 = time_checker(test1) ]test1 = time_checker(test1) -->time_checker 실행하여 test1에 inner_function 리턴 후, result에 test1()의 값(None) 담음2.test1()test1()이 곧 inner_function()이므로 print() 및 test1()의 값 리턴3.헷갈리는 점이제 test1()이 inner_function이 되었고, test1() 정의 아래의 func도 test1()이니 충돌이 나지 않나요? def inner_function(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(type(result)) print("함수 {} 동작시간 {}".format(func.__name__, end_time-start_time)) return resultP.S 저의 경우 time_checker의 동작 시간이 0.54초로 오차가 너무 큽니다. 컴퓨터 사양의 문제일까요,,?
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
opencv 사용하면서 궁금한점 (해상도)
opencv 를 이용해서 resize 를 하면 해상도가 너무 깨집니다. 해상도를 유지하면서 그림 크기를 resize 할 수는 없나요? 예를들면 9분할로 했을때 마우스 휠로 확대를 하면 글자가 다 깨집니다 ㅠ
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
질문드립니다.
제가 이해한 동작이 맞나 궁금합니다.아래와 같은 데코레이션 코드에서,1. time_checker(func) 함수로 test1(a,b) 함수가 전달2. inner_function(*args, **kwargs) 함수가 실행됨(여기서 *args, **kwargs 로는 test1()함수의 매개변수(a,b)가 전달이 된다.3. result 에는 test1(a,b) 함수의 반환값이 저장됨 (a+b)4. 함수 동작시간을 print함5. return result (inner_function 함수의 반환값이 result임6. return inner_function (이 부분이 이해가 잘 안갑니다)(inner_function 함수를 반환? -> 이 문장으로 인해 함수 동작시간이 print되고 result값이 c에 저장되는 것인가?) <질문> 1. return inner_function 이 문장이 하는 역할이 정확히 무엇인가요? 2. 데코레이터 함수에 inner_function이 꼭 필요한 것인가? 정확한 역할이 뭔 지 모르겠습니다.inner_function 함수가 데코레이터 함수로 전달되는 함수의 매개변수를 전달받기 위해 필요하다고 생각하였는데, test1 함수에 매개변수가 없이 전달을 해주어도 None이 출력되네요.import time def time_checker(func): def inner_function(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print("함수 {} 동작시간 :{}".format(func.__name__,end_time - start_time)) return result return inner_function @time_checker def test1(a, b): for i in range(5): time.sleep(0.1) return a+b c = test1(5, 10) print(c)
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
(사진)
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
크롤링안되는 현상 문의 드립니다.
강의 내용 25분 01초 입니다.강의를 보면, 코드를 실행했는데start_page, end_page 가 아래와 같을때, 수집하는게 없으니 오류 아닌지 궁금합니다.0, None10, 20위와 같을때는 크롤링 되는게 없고20, 20일때만 크롤링이 되는데, 이유가 무엇인지 궁금합니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
파이썬 크롤링 관련 문의
안녕하세요.크롤링 과정을 듣고 문의사항이 있습니다. HTTP에서 get 또는 post 방식으로 입력값을 받지 않는 경우에도 BeautifulSoup을 통해 결과값 크롤링이 가능한가요? 사실 지속적으로 웹을 호출하고 그에 따른 결과를 파악하기 위한 과정이라 크롤링이 아닐 수도 있다고 생각합니다. 그럼에도 불구하고 내용을 참고해야할지 어려움이 있습니다. 제가 현재 보고 있는 사이트는 http://www.passwordmeter.com/ 로여기에서 password값을 입력값으로 보내고score값을 추출해서 저장하고자 하는데 참고할 수 있는 자료가 있을까요? 감사합니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
정규 표현식 질문있습니다.
양질의 강의 만들어 주셔서 늘 감사합니다. 질문 내용은, 수업내용 약 16분 51초 입니다.magnets = bs.find_all("a", href=re.compile(r"magnet:\?xt=*"))위와 같은 정규 표현식이 있는데"magnet:\?xt=*"여기서 * 별표는 앞의 문자가 1번이상 반복되는걸로 배웠는데, 그렇다면 = 가 반복되는 정규 표현식인데, 여기서만 특별하게 전체문자로 쓰이는 이유가 있는지 궁금합니다.
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
변수의 type을 일치시켜야 하나요?
안녕하세요! 숫자맞추기 게임만들기를 수강하다가 질문이 생겼습니다.강의에서 보면 number = random.randint(1,99) user_input = input("몇일까요?")를 작성하는데요number에 저장된 값을 그대로 user_input으로 입력해도 같지 않다고 나옵니다. 예를들어 number 에 5가 저장되어있고user_input에 5를 입력하면 string으로 '5'가 입력되는데요number는 integer 형이고강의하고는 다르게user_input은 string 형으로 변수 type이 다르면 값이 다르다고 인식하는 것 같습니다.따라서user_input = int(input("몇 일까요?"))로 입력해 줘야 같은 값을 받았을 때 정답이라고 출력이 되고 있습니다. string으로 받은 값을 int로 변환해 준 후 사용해야 하는건가요?
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
파일배포하기 질문있습니다.
CCTV 텔레그램 프로젝트를 pyinstaller로 배포해보려고 합니다.캠의 화면을 캡쳐하려고 할 때 _tmp.jpg를 생성해서 텔레그램으로 보내야하는데(send_frame_to_telegram) 막히네요..예를들어 /c로 캠의 현재화면을 캡쳐해서 텔레그램으로 보내는 부분에서 오류가 생깁니다.FileNotFoundError: [Errno 2] No such file or directory: '_tmp.jpg' 이걸 해결할 수 있는 방법이 있을까요ㅠ.ㅠ
- 미해결남박사의 파이썬 기초부터 실전 100% 활용
타이핑게임 만들기 관련
안녕하세요.한메타자 같은 타이핑 게임 만들기 스마트 버전 강좌에서 문의가 있습니다. 강사님께서 진행하신 내용 중 21분 34초를 보면 틀린 글자는 2글자에 불과하지만 실제로는 오타율이 12.22%로 나옵니다. 그래서 비교해본 결과 종성이 누락되면 전체적인 list의 숫자가 달라지면서 에러가 누적되는 구조로 프로그래밍 된 것 같습니다.이를 극복하기 위한 아이디어를 생각해보았지만, 잘 떠오르지 않는데 팁 좀 구할 수 있을까요? 그럼 미리 감사합니다.