전체 글
-
파이썬 | 복합자료형(2): 딕셔너리, 세트Programming/Python 2025. 3. 7. 18:00
1. 복합자료형 한 변수에 한 가지 값만을 저장할 수 있는 기본자료형에 비해, 복합자료형은 한 변수에 여러 가지의 값을 저장하고 다룰 수 있다. 이러한 복합자료형에는 리스트와 튜플, 딕셔너리, 세트가 있다. 이번 장에서는 딕셔너리와 세트에 대해 알아보자. 2. 딕셔너리 딕셔너리(dictionary, dict)는 키(key)와 매핑값(value)의 쌍으로 구성된 데이터를 순서 없이 참조하는 자료형이다. 중괄호 안에 키와 매핑값으로 연결된 객체를 쉼표로 구분하여 입력하는 것으로 딕셔너리를 생성할 수 있다. 이때 쌍점을 기준으로 왼쪽에는 키, 오른쪽에는 매핑값을 배치함으로써 하나의 쌍을 이룬다. 딕셔너리의 키는 중복을 허용하지 않으며, 수정 불가능한 자료형인 정수형, 실수형, 문자열, 튜플로만 키를 정..
-
파이썬 | 복합자료형(1): 리스트, 튜플Programming/Python 2025. 2. 28. 18:00
1. 복합자료형 한 변수에 한 가지 값만을 저장할 수 있는 기본자료형에 비해, 복합자료형은 한 변수에 여러 가지의 값을 저장하고 다룰 수 있다. 이러한 복합자료형에는 리스트와 튜플, 딕셔너리, 세트가 있다. 파이썬은 변수에 할당하는 값의 형태에 따라 변수의 복합자료형을 자동으로 할당한다. 이번 장에서는 리스트와 튜플을 먼저 살펴보자. 2. 리스트 리스트(list)는 순서가 있는 형태로 여러 개의 저장 공간을 참조한다. 대괄호 안에 객체를 쉼표로 구분하여 입력하는 것으로 리스트를 생성할 수 있다. 리스트는 어떠한 자료형도 담을 수 있으며, 따라서 기본자료형 외에도 복합자료형 또한 하나의 객체로 취급하여 아래 예시처럼 생성할 수 있다.a = [1, 2, 3, 4, 5]b = ['a', 'b', 'c'..
-
파이썬 | 변수와 기본자료형: 정수형, 실수형, 논리형, 문자열Programming/Python 2025. 2. 21. 18:00
1. 변수 변수는 컴퓨터 메모리에 있는 저장 공간을 참조하기 위해 사용하는 이름이다. 저장 공간에 이름을 붙인 뒤 원하는 값을 저장하거나 불러올 때 사용한다. 프로그래밍 언어에서는 저장 공간에 원하는 값을 저장할 때 등호 기호를 사용하는데, 이를 할당 연산자라고 부른다. 수학에서 등호는 양변에 있는 항이 같은 값을 갖는다는 의미로 사용되지만, 프로그래밍 언어에서는 좌변에 있는 변수에 우변에 있는 값을 할당한다는 의미로 사용된다.date = 250125time = '16:06'AMPM = 'PM' 변수에 할당하지 않고도 숫자나 문자열을 직접 연산할 수 있지만, 아래 예시처럼 변수에 값을 할당한 후 다른 숫자나 문자열과 함께 연산을 수행할 수 있다.date = 250125time = '16:06'A..
-
파이썬 | 기본 기능과 규칙Programming/Python 2025. 2. 14. 18:00
1. 출력 파이썬은 사용자가 연산 결과를 확인할 수 있도록 출력 기능을 제공한다. print 함수 내에 출력하고자 하는 바를 아래 예시와 같이 편집기 창에 입력하여 프로그램을 실행하면 셸 창에 출력된다. 화면에 숫자와 문자열을 출력하는 것 외에도 연산 결과를 파일의 형태로 출력할 수 있다.print(2025)print('Hello World!')print(1, 2, 3, 4, 5)print('a', 'b', 'c', 'd', 'e')print(1, 'A', 2, 'B', 3, 'C') 2. 연산 파이썬은 아래와 같이 숫자의 사칙연산과 두 가지 종류의 문자열 연산을 지원한다. 이때 문자열 연산에서 사용되는 더하기 연산자와 곱하기 연산자는 사칙연산에서 사용되는 연산자와 모양은 같지만 기능이 다르다는 ..
-
파이썬이란?Programming/Python 2025. 2. 7. 18:00
1. 프로그래밍 언어 컴퓨터가 작업을 수행하기 위해서는 논리적인 순서에 맞게 명령문이 나열된 작업지시서를 사람으로부터 전달 받아야 한다. 하지만 컴퓨터는 0과 1로 구성된 기계어(machine language)만 이해할 수 있기 때문에 기계어로 프로그램을 작성해야 한다. 기계어는 사람이 사용하는 언어와는 다르기 때문에, 편의를 위해 사람이 사용하는 언어와 가깝게 개발된 것이 프로그래밍 언어(programming language)이다. 프로그래밍 언어를 이용하면 키보드나 파일 또는 별도의 장치로부터 데이터를 입력 받거나, 조건과 순서를 따라 연산을 반복하거나, 연산 결과를 컴퓨터 화면이나 파일 또는 별도의 장치로 출력하는 것이 가능하다. 현재까지 C언어, C++, 자바(Java), 자바스크립트(Java..
-
최적설계 | 파이썬 기반 선형계획문제 알고리즘 scipy.optimize.linprogEngineering/Optimum Design 2025. 1. 31. 18:00
1. SciPy 패키지 SciPy는 파이썬 기반의 오픈소스 패키지로, 최적화를 비롯하여 적분, 보간, 미분방정식 등의 과학기술 계산 문제를 다루기 위한 다양한 알고리즘을 제공한다. 파이썬 기반의 연산 패키지인 NumPy와도 호환이 가능해 복잡하게 형식을 정의할 필요가 없어 편리하게 이용할 수 있다. 해당 라이브러리는 아래 명렁어를 명령 프롬프트에 입력하여 설치할 수 있으며, 아래 링크로 접속하면 SciPy 라이브러리에 대한 설명을 확인할 수 있다.pip install scipy SciPy User Guide — SciPy v1.15.1 ManualSciPy User Guide SciPy is a collection of mathematical algorithms and convenience funct..
-
최적설계 | 심플렉스법(2)Engineering/Optimum Design 2025. 1. 24. 18:00
1. 인위변수 표준화한 선형계획문제의 기저해가 음수라면, 해당 설계대안은 기저유용해가 아니므로 심플렉스법을 적용할 수 없다. 이때 음이 아닌 값을 갖는 인위변수(artificial variable)를 도입하여 심플렉스법을 적용하면 초기 기저유용해를 찾을 수 있으며, 해당 초기 기저유용해를 시작으로 심플렉스법을 적용하여 최적해를 탐색할 수 있다. 심플렉스법을 총 두 번 적용하는 것이다. 단, 첫 번째로 심플렉스법을 적용할 때에는 인위변수를 소거하기 위해 인위가격함수를 정의하고, 인위변수를 비기저변수로 만듦으로써 인위가격함수를 최솟값인 0으로 만드는 것을 목표로 한다. 인위가격함수는 인위변수의 합으로 다음과 같이 정의한다. $$ \begin{align} \omega=\sum x_j \end{align}$..
-
최적설계 | 심플렉스법(1)Engineering/Optimum Design 2025. 1. 17. 18:00
1. 선형계획문제의 볼록성 일반적인 최적설계문제에서 등호제약조건이 선형이고 부등호제약조건이 볼록이면, 해당 설계문제의 유용집합은 볼록집합이다. 만약 해당 유용집합 내에서 도출한 설계대안이 국소적 최소라면, 해당 설계대안은 전역적 최소이다. 선형계획문제에서는 모든 함수가 선형이므로 선형계획문제는 볼록집합이며, 하나의 국소적 최적이 존재한다면 해당 설계대안이 전역적 최적해이다. 또한 선형계획문제에서의 최적해는 항상 유용영역의 경계 부분, 특히 유용영역의 꼭짓점 중 하나에 존재한다. 이는 최적해가 유용영역의 내부에도 존재할 수 있는 일반적인 비선형문제와는 다르다는 것을 보여준다. 2. 선형계획문제의 기저해 표준선형계획문제는 일반적으로 등호제약조건의 수보다 설계변수의 수가 많아 무한 가지의 설계대안이 도..