Python (55) 썸네일형 리스트형 23.01.09 파이썬 코딩 퀴즈#80,81,82 (프로그래머스) 이번 문제는 숫자 블록 문제이다. 레벨에 맞지않게 정답률이 굉장히 낮은 문제인데, 그 이유는 설명 때문이다. 도로의 길이는 10억번 까지 존재하며, 1부터 1천번 도로까지 정해진 규칙으로 돌을 놓는다. 돌을 놓는 규치은 도로의 순번에 1을 제외한 최대 약수를 기록해 주어야 한다. 이 설명이 굉장히 이해하기 어려운데, 1천번 까지만 위의 조건으로 도로를 깔아야 하는데, 이는 구한 최대약수로 자기 자신을 나누었을때 그 몫이 1천 이하만 가능하다. 약수를 구하는건 구 수의 제곱수 까지만 구해보면 된다. 어짜피 제곱수 보다 큰 약수는 자기 자신 말고 존재하지 않는다. 그리고 자기 자신을 제외한 최대 약수로 나눈 몫은 answer에 넣어주기만 하면 된다. 이때조건의 의해서 만약 몫이 1천을 초과한다면, 그 도로는.. 22.12.09 파이썬 코딩 퀴즈#4 (나도코딩 - 레벨3) 이번 퀴즈는 조금은 재미있고 색다른 방법으로 코딩을 작성해야 한다. 퀴즈 내용에 보면 대략적으로 어떻게 작성해야 할지에 대한 가이드라인을 제공하기에, 천천히 위에서부터 코드를 적어나가 보자. 먼저 Word라는 클래스를 생성해 주었다. 총 4개의 값을 전달받아 class를 생성하게 되며, 여기서 self는 자기 자신을 의미한다. 참고로 self.question ... 값들이 현재 비어있는 상태이고, 사용자로부터 4개의 값들을 전달받으므로, 작성순서는 self.question 이 먼저이다. (반대로 적으면 에러가 난다.) 이제 바로 아래에 show_question()과 check_answer()함수(methods)를 정의해 주면 간단하게 해결된다. input으로 입력받는 값들은 문자형 이기 때문에 반드시 i.. 22.12.09 파이썬 코딩 퀴즈#3 (나도코딩 - 레벨1) 3번째 퀴즈이다. 먼가 복잡해 보이지만, 실제로는 홀수 좌석만 표시해주면 되는 굉장히 간단한 문제이다. ... 딱히 풀이라고 할 것도 없다. 단 한가지 여기서 i 는 정수형이기 때문에 문자열과 같이 사용하려면 f-string을 사용하던지 아니면 str()로 문자형으로 바꾸어서 사용해 주어야 출력된 결과값이 좀더 깔끔하다. 다른 방법으로는 range()에 범위를 설정해 주는 방법이 있는데, 값이 없더라도 위 코드처럼 콜론(:)으로 구분해 주어야 한다. 순서대로 시작값, 끝값, 찾을 조건(slice step)이다. 2라는 뜻은 시작값을 기준으로 2칸 건너띈 값이다. 시작값을 1로 주고 실행하게 되면 반대로 짝수로 된 값들이 출력된다. 끝 값은 범위를 해당 range()의 범위를 벗어나도 오류없이 작동한다. .. 22.12.09 파이썬 코딩 퀴즈#2 (나도코딩 - 레벨4) 다음 문제는 추억의 행맨 게임 만들기이다. 굉장히 재미있게 했었던 영어 단어 맞추기 게임이다. 그림까지 재현하려면 GUI 를 만들어야 하는데, 간단하게 횟수제한 없는 퀴즈 게임으로 만들어보자. 먼저 퀴즈로 사용할 words라는 리스트를 만들어주고, 해당 리스트에서 random 라이브러리를 사용하여 임의뢰 하나의 단어만을 quiz라는 변수에 선언하여 사용해 주었다. c_answer 변수는 사용자에게 "_ _ _ _ _"형태로 단어의 길이를 보여주게 되므로, for 문을 통해 quiz의 길이만큼 "_"를 삽입해 주었다. 이제 본격적으로 while문을 통해 사용자에게 계속 내용을 입력받아 비교해보는 코드를 짜주어야 한다. 사용자에게 단어의 길이를 보여주기 위해 for문을 사용하여 c_answer 내용물을 쉼표.. 파이썬 입문 CodeUp 100문 그동안 너무 조급한 마음으로 달려온것 같다. 그래서 다시 기본 개념을 굳히기 위해 입문자용 문제집들을 살펴보다가, CodeUp 이라는 싸이트를 방문하였다. 이래저래 살펴보았는데, 아무래도 코드를 처음 입문하는 초,중,고 학생들을 대상으로 선생님들이 수업을 진행 하시거나, 학생들이 직접 문제를 풀어볼 수 있는 공간인듯 하였다. 하긴... 시대가 변했으니, 학교에서 이제 프로그래밍 언어도 수업을 하는구나... 나는 문제 - python 기초 100제 로 이동하여, 하나하나 풀어보았다. 너무 기본적인 것들은 패스하고 약간 재미있는 문제들만 남겨두기로 하자. 이 문제가 재미있는 부분은 사용자로부터 입력받은 메세지를 따로 한 문자씩 분리해서 출력하는 건데, 예시에서는 print()문을 사용하였다. 이 경우 단점은.. 나 혼자 하는 프로젝트 7탄 - 주식정보 크롤링 사실 주식에 관심이 1도 없는 현대인이다. 왜냐하면 사회초년생때 같이 일하시던 팀장님이 계셨는데, 그분이 주식을 하셨다. 잠깐잠깐 시간이 되면 주식 단타로 용돈도 버시고, 심지어 주식으로 번 돈으로 고가의 아파트도 장만 하셨다. 그런데 그 팀장이 하신 얘기가 "절대 주식으로 돈 벌 생각하지 마세요" 였다. 어짜피 관심도 없는 분야였지만, 주변에 누군가가 그렇게 얘기해주니 더 관심을 끊게 되었다. 웹크롤링을 학습할때 가장 많은 예제로 삼는게 주식정보, 영화정보 이다. 하지만, 영화보다는 돈에 끌리는게 사람 마음일까? 이번에는 네이버의 주식정보 페이지를 크롤링 하는 코드를 학습하고자 한다. 먼저 사용할 pandas와 seleminum 라이브러리를 추가로 설치하여 준다. 당연히 웹브라우저를 python을 통해.. 22.12.01 로또 번호 추출기 및 당첨확인 어제에 이어 연이어서 로또 번호 추출기 코드를 수정하여 가장 최신자 당첨 번호와 일치하는지 확인하는 코드를 짜보려고 한다. 웹 크롤링을 통해 홈페이지에서 파일을 다운받아 사용하려고 하였지만, 다운받은 엑셀파일이 하필 xls 이고, 심지어 보안 경고창도 뜨는 바람에, 다운 받은 파일을 다시 xlsx 로 저장하여 사용하였다. 사용한 라이브러리를 총 2개로 앞서 작성했던 코드와 동일하다. 먼저 xlsx로 변환한 로또 당첨 번호가 들어있는 엑셀 파일을 열어 주었다. 파일에서 확인할 수 있듯이, 가장 최근회차는 4열에 위치한다. 그래서 딱 4열의 데이터만 가져오면 된다. pandas도 이용가능하지만, 가급적 최소한의 라이브러리를 사용하고 싶은 마음에 슬라이싱을 적극 사용하였다. 엑셀로 불러온 값들은 튜플형태이기에.. 22.11.30 로또 번호 추출기 아마도 파이썬을 배우고, 다른 라이브러리들도 학습한 사람들이라면 가장 먼저 도전하게 되는 프로그래밍이 아닐까 한다. 그 이름하여 로또 번호 추출기! 어제(11/29)부터 혼자서 이리 돌려보고, 저리 돌려보고 해서 총 2개의 코드를 만들었다. 1. 엑셀 파일로 저장 사용할 라이브러리를 총 2개이다. 임의로 번호를 추출해 줄 random 라이브러리 와 엑셀 파일을 불러와서 작업을 할 openpyxl 라이브러리. 먼저, 사용할 엑셀파일을 불러와서 작업할 worksheet 를 만든다음 ws 변수에 선언하여 주었다. 또한 range()함수를 이용해서 1부터 45까지의 번호를 생성하여 선언해 주었다. 이제 본격적으로 함수를 정의해 보자. 회수를 담당할 i 값을 선언해 준 다음 바로 while문으로 입력받은 횟수만큼.. 이전 1 2 3 4 ··· 7 다음