파이썬 자료구조/알고리즘 09 : for ~ else문 응용하기 if 조건문과 따라다니는 else구문을 파이썬에서는 반복문과 함께 사용할 수 있습니다. for문이 중간에 break로 빠져나오지 않고 완전히 끝까지 실행되었을 경우 else문의 명령어가 실행됩니다. 또한 for문이 아얘 실행되지 않는 경우에도 else문이 실행됩니다. for와 else는 같은 라인에 쓰도록 합니다. 다음은 for~else문을 사용하지 않은 코드입니다. lst = [1, 3, 6, 4, 2] flag = 0 for i in lst: if i > 5: flag += 1 print('반복문 탈출') break if flag != 0: print('5보다 큰 수 발견') else: print('5보다 큰 수 없음') 반복문 탈출 5..
객체에 따른 인수, 매개변수의 교환 방식 인자, 인수, 매개변수의 차이 def sumsum(n): # n = 인자/매개변수/parameter s = 0 while n > 0: s += n n -= 1 return s x = int(input()) print(f'1부터 {x}까지 정수의 합 : {sumsum(x)}')# x = 인수/argument 파이썬에서 인수와 매개변수의 교환 방식 (이뮤터블의 경우) Immutable : 변경 불가능한 객체 String, tuple, 숫자 등 def sumsum(n): s = 0 while n > 0: s += n n -= 1 return s x = int(input()) print(f'1부터 {x}까지 정수의 합 : {sumsum(x)}') >> 5 1부터 5까지 ..
배열의 모든 원소 스캔하기 enumerate() 함수는 인덱스와 원소를 짝지어 튜플로 꺼내는 내장함수이다. range()와의 비교 x = ['a', 'b', 'c', 'd'] for i in range(len(x)): print(f'x[{i}] = {x[i]}') x[0] = a x[1] = b x[2] = c x[3] = d x = ['a', 'b', 'c', 'd'] for tup in enumerate(x): print(tup) for i, name in enumerate(x): print(f'x[{i}] = {name}') (0, 'a') (1, 'b') (2, 'c') (3, 'd') x[0] = a x[1] = b x[2] = c x[3] = d 튜플 형태를 반환하므로 인덱스와 값을 따로 뽑아..
최댓값 구하는 프로그램 만들기 배열, 함수를 사용하여 복수의 모듈로 최댓값을 구하는 프로그램을 구현한다. 파일 이름을 max.py라고 가정한다. from typing import Any, Sequence def max_of(a: Sequence) -> Any: maximum = a[0] for i in range(1, len(a)): if a[i] > maximum: maximum = a[i] return maximum if __name__ == '__main__': print('배열의 최댓값 구하기') num = int(input('원소 수 입력 : ')) x = [None] * num for i in range(num): x[i] = int(input(f'x[{i}]값을 입력하세요. : ')) pri..
C와 C++, Java등의 언어에서는 =를 결합 연산자로 사용한다. a = b = 1 b에 1을 대입하여 얻은 결과를 a에 대입하므로 a = b = 1이 될 수 있다. 그러나 파이썬에서는 =가 연산자가 아니다. 같은 코드를 파이썬에서 입력하면 오류가 발생한다. 파이썬에서는 리스트와 튜플 모두 배열을 의미한다. 리스트와 튜플을 자료구조 관점에서 배열로 이야기 할 수 있다. 빈 배열 판단하기 if x: # x가 비어 있지 않으면(True) 실행 else: # x가 비어 있으면(False) 실행 비교 연산자로 배열의 대소, 등가 관계 판단 print([1, 2, 3] == [1, 2, 3]) print([1, 2] < [1, 3]) print([1, 2, 3]
파이썬에서는 배열을 리스트와 튜플로 구현 가능하다. 둘은 데이터 컨테이너라고 하며, 튜플의 경우 원소를 변경할 수 없다는 점에서 리스트와 차이가 있다. 리스트 원소를 변경할 수 있는 mutable형 객체. list01 = [] list02 = [1, 2, 3] list03 = ['A', 'B', 'C', ] # 맨 마지막 원소에 쉼표 생략 가능 list()는 다양한 자료형 객체를 원소로 하는 리스트를 생성한다. list(), range()의 조합으로 특정 범위의 정수로 구성된 리스트를 생성할 수 있다. 리스트 원소 개수는 리스트 생성 때 반드시 결정해야하나, 원솟값을 지정하지 않을 경우에는 None을 사용하면 가능하다. list01 = list([1, 2, 3]) list02 = list('ABC') ..