본문 바로가기

Programming46

[Python] 파이썬 문제 : 게시판 페이징하기 [Python] 파이썬 문제 : 게시판 페이징하기 문제 : A씨는 게시판 프로그램을 작성하고 있다. 그런데 게시물의 총 건수와 한 페이지에 보여 줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요하다고 한다. 필요한데 뭐 어쩌라고? 라는 느낌이 들게 문제가 끝이 난다.. 일단 페이징이란? 문제에 써있는대로 게시판의 페이지 수를 보여주는 것을 페이징이라고 한다. 먼저 인풋값, 아웃풋 값을 생각해보자. 인풋 : 게시물의 총 건수, 한 페이지에서 보여 줄 게시물의 수 아웃풋 : 총 페이지의 수 만약, 게시물의 총 건수가 5건이고, 한 페이지에서 보여 줄 게시물의 수가 10개이면 총 페이지 수는 당연히 1이되겠다. 또한, 게시물의 총 건수가 15건이고, 한 페이지에서 보여줄 게시물 수가.. 2022. 3. 16.
[Python] 파이썬 문제 : 3과 5의 배수 합하기 포스팅을 하면서 파이썬의 헷갈리는 개념들을 다시한번 정리했다. 백준으로 넘어가기전에 책 뒤에있는 문제들을 풀어보려고한다. 3과 5의 배수 합하기 (책 273P) 문제 : 10 미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라. 항상 프로그래밍을 할 때에는 쉬운 것이든 어려운 것이든 인풋값이 무엇이고, 아웃풋 값이 무언인지 생각하는 것이다. 인풋 : 1000미만의 자연수(1부터 999까지) 아웃풋 : 3의 배수와 5의 배수의 총합. 그리고 1. 3의 배수와 5의 배수는 어떻게 찾을 것인가? 2. 3의 배수와 5의 배수가 겹칠 때에는 어떻게 할 것인가? 등등 경우의 수를 생각해서 적어둔다. 자, 그럼 먼저.. 2022. 3. 14.
[Python] 점프 투 파이썬 연습문제 풀이 5장 [Python] 점프 투 파이썬 연습문제 풀이 5장 Q1. 다음은 Calculator 클래스이다. class Calculator: def __init__(self): self.value = 0 def add(self, val): self.value += val 위 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해보자. 즉 다음과 같이 동작하는 클래스를 만들어야 한다. cal = UpgradeCalculator() cal.add(10) cal.munus(7) print(cal.value) #10에서 7을 뺀 3을 출력 답: class UpgradeCalculator(Calculator): def minus(self,val): self.value -= v.. 2022. 3. 12.
[Python] 파이썬 내장함수 모음 2탄 hex / id / input / int / isinstance / len / list / map / max / min / oct / open [Python] 파이썬 내장함수 모음 2탄 hex / id / input / int / isinstance / len / list / map / max / min / oct / open hex hex(x)는 정수 값을 입력받아 16진수(hexadecimal)로 변환하여 리턴 >>> hex(234) '0xea' >>> hex(3) '0x3' id id(object)는 객체를 입력받아서 객체의 고유 주소값을 리턴. >>> a = 3 >>> id(3) 93851867576896 >>> id(a) 93851867576896 >>> b = a >>> id(b) 93851867576896 위 코드를 보면 3과 a와 b의 고유 주소 값이 93851867576896인 것을 볼 수 있다. 이는 3과 a와 b가 모두 같은.. 2022. 3. 9.
[Python] 파이썬 내장함수 모음 1탄 abs / all / any / chr / dir / divmod / enumerate / eval [Python] 파이썬 내장함수 모음 2탄 abs / all / any / chr / dir / divmod / enumerate / eval / filter / hex 내장함수 Don't Reinvent The Wheel! 이미 있는 것을 다시 만드느라 쓸데없이 시간을 낭비하지 말라. 우리가 프로그래밍을 하기 전에 만들고자 하는 함수를 이미 누군가가 만들어 뒀을 수 있다. 특히 이미 배포가 된 라이브러리의 경우에는 충분한 테스트와 검증이 되었기 때문에 시간을 낭비하지 않고 프로그래밍을 할 수 있다. 파이썬 내장함수는 다른 외부 모듈과 달리 import를 시키지 않고 바로 사용할 수 있다. 파이썬의 내장함수 종류가 엄청 많은데 이를 다 외울 수는 없고, 나중에 찾아 활용할 수 있을 정도로 기억해두는 것이.. 2022. 3. 8.
[Python] 패키지(Packages) 만들기 / __init__.py / __all__ / 파이썬 relative 패키지 [Python] 패키지(Packages) 만들기 / __init__.py / __all__ / 파이썬 relative 패키지 패키지(Packages) 패키지는 . 을 사용해서 파이썬 모듈을 계층적으로 관리 할 수 있게한다. A.B A = 패키지의 이름 B = A패키지의 B 모듈 아래 가상의 게임패키지가있다. game/ __init__.py sound/ __init__.py echo.py wav.py graphic/ __init__.py screen.py render.py play/ __init__.py run.py test.py game, sound, graphic, paly 는 디렉터리 이름이고, 확장자가 .py인 파일은 파이썬 모듈이다. 루트 디렉토리 = game 서브 디렉토리 = sound, gra.. 2022. 3. 7.
[Python] 모듈 만들기 / 불러오기 import, from / if__name__ == "__main__": [Python] 모듈 만들기 / 불러오기 import, from / if__name__ == "__main__": 모듈이란? 함수나 변수 또는 클래스를 모아 놓은 파일. 다른 파이썬 프로그램에서 불러와 사용할 수 있도록 만들 파이썬 파일이다. 다른 훌륭한 개발자들이 만들어 놓은 모듈을 사용할 수도 있고, 공유할 수 있다. 공유된 모듈을 사용하면 내가 직접 개발을 하지 않아도 numpy, pandas, matplot 등 인공지능에서도 다양한 부분을 쉽게 처리할 수 있다. 모듈 만들기 #mod1.py def add(a,b): return a+b def sub(a,b): return a-b 위 코드는 add와 sub 함수만 있는 파일 mod1.py를 만들고 C:\doit 디렉토리에 저장한다. 이 mod1파일이.. 2022. 3. 6.
[Python] 클래스(Class) 1편 - 기본 개념 이해하기 / 사칙연산 계산기 클래스 만들기 Class는 항상 볼 때마다 책을 뒤져보는 것같다. 그래서 이번 기회에 포스팅을 해보며 나도 함께 다시 한 번 정리해보는 글을 써보기로 하겠다. 클래스 & 객체 비유를 해보도록 하겠다. 과자를 찍어내는 틀 = class(클래스) 찍어서 만들어낸 과자 = object(객체) 클래스로 만든 객체에는 중요한 특징이 있는데, 각 객체마다 고유한 성격을 가진다. 즉, 하나의 과자를 베어 먹는다해서 다른 과자에 영향을 주지 않는다.(독립) class Cookie: pass 클래스의 간단한 예이다. 아무런 기능을 가지고 있는 클래스의 틀을 만들어봤다. 이제 클래스의 객체를 만들어보겠다. a = Cookie() b = Cookie() 클래스 Cookie()의 결과값을 돌려받은 a와 b가 객체가 된다. 마치 함수를 사용.. 2022. 3. 4.
[Python] 점프 투 파이썬 연습문제 풀이 4장 [Python] 점프 투 파이썬 연습문제 풀이 4장 Q1. 주어진 자연수가 홀수인지 짝수인지 판별해 주는 함수(is_odd)를 작성해 보자. def is_odd(number): if #your code here: return True else: return False 2로 나누었을 때 나머지가 1이 되게 하는 if문을 작성한다. 답 : number % 2 == 1 *참고* 람다와 조건부 표현식을 사용하면 더 간단히 만들 수 있다. is_odd = lambda x: True if x % 2 == 1 else False lambda(람다)는 함수를 생성할 때 사용하는 예약어다. def와 동일한 역할을 하며, 일반 함수를 한 줄로 간결하게 줄일 때 사용한다. lambda 매개변수1, 매개변수 2,... : 매.. 2022. 3. 3.
[Python] 리스트 내포 (List comprehension) 리스트 내포 (List comprehension) 리스트 안에 for문을 포한하는 리스트 내포(List comprehension)을 사용할 수 있다. a리스트의 각 항목에 3을 곱한 결과를 result 리스트에 담는 예제를 보도록하겠다. >>> a = [1,2,3,4] >>> result = [] >>> for num in a: >>> result.append(num*3) >>> print(result) [3,6,9,12] a리스트에는 1,2,3,4라는 숫자가 있고, result라는 빈 리스트를 만들어줬다. a리스트를 for문에 넣어서, 1,2,3,4가 차례대로 3과 곱해져 reulst리스트에 추가되는 함수이다. 위에서는 for문을 사용하기 위해서 2줄의 코드를 쳐야하는데 리스트 내포를 사용한다면, 단 .. 2022. 3. 2.
반응형