파이썬(Python)(58)
-
[Python] 클래스 대신 튜플(Tuple) 사용하기
● 파이썬으로 클래스 구현 [Python] 클래스(Class) - 클래스 정의, 정보 저장, 값 변경, 객체 리스트 1. 클래스(Class)란? - 새로운 형태를 하나 정의한 후, 형태를 이루기 위한 요소로 새로운 값을 정의하는 것. - 예를 들어, 두 학생의 국어, 수학, 영어 점수가 각각 (50, 60, 70), (70, 80, 90)이라 하자. kor1 kdh9797-devwiki.tistory.com 1. Tuple - 파이썬에서 새로운 형태를 정의할 때 복잡하지 않은 경우는 클래스(class)를 만들지 않고 튜플(tuple)을 이용하여 해결할 수 있다. - 함수를 구현할 때 2개 이상의 값을 반환하는 경우는 다음과 같다. def two_numbers(): return 1,2 print(two_n..
2023.02.07 -
[Python] 클래스(Class) - 클래스 정의, 정보 저장, 값 변경, 객체 리스트
1. 클래스(Class)란? - 새로운 형태를 하나 정의한 후, 형태를 이루기 위한 요소로 새로운 값을 정의하는 것. - 예를 들어, 두 학생의 국어, 수학, 영어 점수가 각각 (50, 60, 70), (70, 80, 90)이라 하자. kor1, math1, eng1=50,60,70 kor2, math2, eng2=70,80,90 - 이와 같이 변수를 직접 정의하여 사용할 수도 있지만, (국어, 수학, 영어)처럼 3개의 세트가 한 학생에 대한 정보를 나타내는 것이 효율적이고 직관적이다. - 따라서 학생을 가리키는 새로운 형태를 하나 정의하고 그 형태를 이루기 위한 요소로 (국어, 수학, 영어)를 정의해야 하는데 이때, 사용하는 것이 클래스이다. ● 클래스 정의 class Student: def __ini..
2023.02.05 -
[Python] 정렬 - 숫자, 문자열, 문자열 리스트, 오름차순 및 내림차순
1. 숫자 - sort() : 리스트의 원소를 오름차순으로 정렬한다. arr=[15,64,32,78,36,98,22] arr.sort() print(arr) 결과 [15, 22, 32, 36, 64, 78, 98] - 내림차순으로 정렬 : sort(reverse=True) arr=[15,64,32,78,36,98,22] arr.sort(reverse=True) print(arr) 결과 [98, 78, 64, 36, 32, 22, 15] - sorted() : 정렬된 리스트를 반환한다. - 정렬 후의 리스트를 변수에 할당해야 한다. arr=[15,64,32,78,36,98,22] sort_arr=sorted(arr) print(sort_arr) 결과 [15, 22, 32, 36, 64, 78, 98] - ..
2023.01.29 -
[Python] 재귀 함수 - Return Value. 문제풀이 (홀수짝수 합, 최대최소, 점화식, 최소공배수)
1. 홀수끼리 짝수끼리 - 정수 n을 입력 - n이 홀수면 1~n까지 홀수의 합을 출력 - n이 짝수면 2~n까지 짝수의 합을 출력 def odd_or_even_sum(n): if n==1: return 1 if n==2: return 2 return odd_or_even_sum(n-2)+n n=int(input()) print(odd_or_even_sum(n)) 결과 >> 7 16 >> 10 30 - 홀수일 경우 1부터 n까지의 홀수 합이므로 n+(1부터 n-2까지의 합)으로 나타낼 수 있다. - n이 2씩 감소하여, n이 1일 경우 1부터 1까지 홀수 합이므로 1을 반환하고 이는 홀수일 때 종료 조건이 된다. - 짝수일 경우 2부터 n까지의 홀수 합이므로 n+(2부터 n-2까지의 합)으로 나타낼 수 ..
2023.01.23 -
[Python] - 재귀 함수 : 값을 반환. return value. factorial. 각 자리 숫자합, 점화식 및 수열
1. 값을 반환하는 재귀함수 - factorial - 1부터 n까지의 곱을 반환하는 factorial(n)을 재귀함수로 구현하기 - factorial(n)은 n * (n-1) * (n-2) *... * 3 * 2 * 1이다. - factorial(n-1)은 (n-1) * (n-2) *... * 3 * 2 * 1이다. - factorial(n) = factorial(n-1) * n이다. def factorial(n): return factorial(n-1)*n - 하지만 재귀함수는 종료조건이 없으면 계속 호출을 반복한다. - 값을 반환하는 재귀함수의 종료조건은 계산 없이도 바로 결과를 알 수 있는 경우로 설정한다. - factorial 함수에서 1! 은 1이라고 당연히 알고 있기 때문에 이를 종료조건으로 ..
2023.01.22 -
[Python] 재귀함수 - 값이 반환되지 않을 때, 종료 조건, 출력 위치, 대칭 문제
1) 재귀함수 n개의 줄에 걸쳐 별을 출력하는 문제 n=5일 경우 * * * * * - print_star(n) 함수 정의 : 1~n번째 줄까지 별을 출력한다. - print_star(n-1)을 먼저 수행하여 1~n-1번째 줄까지 별을 출력 후, n번째 줄을 출력을 정의한다. - 이러한 방식으로 해당 함수를 구현하는데 동일한 함수를 다시 이용하게 되는 것을 재귀함수라고 한다. def print_star(n): print_star(n-1) print('*') ● 문제점 - print_star(5) 함수가 print_star(4)를 부르게 되고 4는 3을, 3은 2를,..., 0은 -1을, -1은 -2를,... 무한대로 부르게 된다. - 이러한 문제를 해결하기 위해 재귀 함수는 종료 조건을 적절하게 설정해야..
2023.01.20