Python 57

주민등록번호 유효성 검사 프로그램 만들기

문제 위 문제를 풀어보자. 먼저 클래스를 사용하지 않고 문제를 풀어보았다. Class를 곧바로 적용하면서 문제를 풀다 보니 알게 모르게 자꾸 에러가 나게 되어 일단은 클래스 없이 문제를 풀어보자 생각을 했다. 첫 번째는 주민등록번호를 입력 받고 그 입력받은 값을 int 로 형변환을 해주는 것인데 이제 까지 배웠던 함수들을 활용해 보았다. 처음 작성을 할 때, RRN = list(map(int(input(" ")))) 이렇게 작성을 했는데 오류가 났었다. 그 이유를 알아보니, Python에서의 Map() 함수는 최소 두 개의 인자가 필요하다고 한다. Map(함수, 이터러블 객체), 그래서 RRN = list(map(int, str(input(" ")))) 이런 식으로 바꿔줬더니 해결되었다. 사소하지만 사용..

Python/문제 2024.03.20

Python 상속

상속- 상속은 한 클래스의 속성과 메서드를 다른 클래스에 전달하는 기능이다. 상속을 사용하면 기존의 코드를 재사용하고 확장할 수 있다. 기본적으로 파이썬의 모든 클래스는 object라는 기본 클래스로부터 상속을 받는다.상속을 사용하여 부모 클래스의 생성자에 매개변수로 인자값을 전달하여 반환하는 것을 볼 수 있다.클래스 상속 시 생성자 호출 순서자식클래스(Child Class)의 생성자가 호출자식 클래스의 생성자에서 부모 클래스의 생성자가 호출만약 자식 생성자에서 부모 생성자로 직접 호출할 경우 super() 함수를 사용부모 클래스의 생성자가 실행을 마치면 자식 클래스의 생성자로 돌아가 자식 클래스의 생성자 코드가 실행object 클래스- object는 파이썬의 모든 클래스의 기본 클래스이다. object..

Python 2024.03.20

Python 객체지향, Class

객체지향 프로그래밍- 객체지향 프로그래밍 (Object-Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화시켜상태와 행위를 가진 독립적인 개체인 객체로 만들고, 객체들 간의 상호작용을 통해 프로그램을 구성하는 프로그래밍 방법이다.절차지향 프로그래밍- 절차지향 프로그래밍은 프로그램을 작성할 때 어떠한 절차 또는 단계에 따라 코드를 구성하는 방법이다. 이러한 단계나 절차는 주로 함수나 서브루틴으로 나눠져 있으며, 각각의 함수는 특정한 작업을 수행한다. 주로 "입력 - 처리 - 출력"의 순차적인 절차를 따르고, 코드를 위에서부터 아래로 실행하며 작업을 수행한다. 함수형 프로그래밍- 함수형 프로그래밍은 함수(function)를 최우선으로 프로그램을 작성한 것이다. 함수는 다른..

Python 2024.03.20

가위, 바위, 보 게임 / 로또 예측 프로그램 만들기

문제 : 가위, 바위, 보 게임 만들기 위 문제는 두 가지 방법으로 풀었다. 첫 번째 먼저 random.choice() 함수를 사용하여 만들어 보았다. 이 함수를 사용하니 정말 간단하다. (간결하게 적진 못했지만..) random.choice() 함수는 지정한 범위 내 무작위로 값을 뽑아준다. 그래서 그 값과 우리가 입력한 값을 비교하는 방법으로 if문을 사용하여 만들었다. 두 번째 이번에는 좀 길다.. 먼저 입력값을 받아주고 가위, 바위, 보를 0, 1, 2 숫자로 바꿔주려고 if문을 사용했고, 그 후 random() 함수로 0, 1, 2 만 나올 수 있게 0 ~ 0.99999..에 10을 곱한 후 4로 나눠줬다. 그리고 float를 int로 변환하면 0 ~ 2까지만 나오게 된다! 문제는 여기서부터였는..

Python/문제 2024.03.19

Python 콜백 함수(Callback Function)과 람다 함수(Lambda Function)

콜백 함수(Callback Function)- 콜백 함수는 다른 함수에 인자로 전달되어, 어떤 이벤트나 특정 조건에서 실행되게 하는 함수이다. 즉, 직접 호출하는 것이 아닌 다른 함수에 의해 호출되는 함수를 말한다. 콜백 함수는 주로 비동기 작업이나 특정 이벤트 발생 시점에 어떤 동작을 수행할 때 사용된다.callback 함수 내에 for문을 사용하여 5번 반복하게 만들었고, "print_hello" 함수에 "안녕하세요, 파이썬!"을 출력하게 만들었다. 그리고 callback 함수를 호출하면서 인자로 " print_hello" 함수를 넘겨주면서 "안녕하세요, 파이썬!" 이 5번 반환되게 된다.이번에는 callback 함수 인자에 num 이라는 변수를 받게 만들었다. callback 함수를 호출하고 몇 번..

Python 2024.03.18

Python 변수의 범위

스코프(scope)- 파이썬에서 변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미하고, 범위는 크게 네 가지로 분류한다.Local(지역)- Local scope는 변수가 함수 내에서 정의될 때 해당 함수 내부를 의미한다.Enclosing(둘러싼 범위)- Enclosing scope는 내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수 범위를 의미한다.Global(전역 범위)- Global scope는 변수가 함수의 가장 바깥쪽에서 정의될 때 함수 내에서의 해당 변수로 사용됨을 의미한다.글로벌 변수는 함수 내에서도 사용 가능하다.함수 안에서 만든 global_var은 그 함수 내에서 새롭게 만들어진 지역 변수이다. 즉 함수 밖에 있는 global_var인..

Python 2024.03.18

Python 사용자 정의 함수

사용자 정의 함수- 사용자 정의 함수란 사용자가 특정 작업을 수행하기 위해 직접 작성한 함수를 의미한다. 파이썬에는 많은 내장 함수들이 있지만, 때로는 우리의 요구사항에 맞게 동작하는 함수를 직접 만들어야 할 때가 있다. 이때 사용자 정의 함수를 작성한다.매개변수와 반환값이 없는 함수반환값은 함수가 호출된 곳에 함수의 기능을 수행하고 결과 값을 돌려주는 것이다. 하지만 위 이미지는 함수가 기능을 수행하지만 값을 돌려주는 것은 없다. 반환값이 있으려면 return 명령을 사용해야 한다.매개변수가 있고 반환값이 없는 함수return 명령을 사용하지 않았기에 반환값은 없지만 매개변수는 존재한다. 만약 인수값를 전달하지 않을 경우에는 에러가 발생한다.반환값이 있는 함수첫 번째 함수는 반환값은 있고 매개변수는 없..

Python 2024.03.18

Python 제어문 - 반복문

반복문- 반복문은 동일한 작업을 여러 번 실행하기 위해 사용되는 제어 구조이다. 주로 for 문과 while 문이 사용되며, 각각의 반복문은 다른 상황에 적합한 방식으로 사용된다.while문- 특정 조건이 참인 동안 반복정으로 코드 블록을 실행하는 제어 구조이다. while 문은 주어진 조건이 참인 동안 반복적으로 코드를 실행하며 조건이 거짓이 되면 반복을 멈춘다.i = 1부터 하나씩 늘려가면서 5가 될 때까지 "Hello Python" 을 출력하는 while문이다. for문- 시퀀스(리스트, 튜플, 문자열 등)의 항목에 대해 작업을 수행하는 반복문이다. 주로 "지정된 범위 내에서 반복"할 때 사용한다. 이것은 반복할 요소들이 미리 정해져 있는 경우 유용하다.list1 안에 4개의 요소가 있다. 그리고 ..

Python 2024.03.18

Python 제어문 - 조건문

조건문- 조건문은 코드의 실행 흐름을 제어하기 위해 사용하는 구문이다. 이 조건문은 주어진 조건이 참인지 거짓인지에 따라 다른 코드를 실행하게 한다.if문- 가장 기본적인 조건문. 특정 조건이 참(True)일 경우에만 해당 블록 내의 코드가 실행된다.위 이미지를 보면 조건이 참(True)일 때 블록 내에 코드가 실행되어 두 개의 결과를 반환한다. 하지만 조건이 False일 때는 블록 내에 코드를 실행하지 않고 바깥 결과만 반환한다.input() 함수를 활용하여 조건문을 만들 수 있다. 조건이 참(True)일 때 블록 내에 코드가 실행되는 것을 볼 수 있다.else문- else는 파이썬의 조건문 구조에서 if와 elif 조건들이 모두 거짓으로 평가될 경우 실행되는 부분을 정의하는 데 사용한다.else는 선..

Python 2024.03.18