반응형
사칙연산 클래스 실습
▪ 덧셈, 뺄셈 코드
# 덧셈, 뺄셈 class 생성
# 덧셈, 뺄셈 메소드 이항연산
# 이항을 메소드 self 속성으로 생성
class calculate:
def setdata(self, arg1, arg2):
self.first = arg1
self.second = arg2
def add(self):
result = self.first + self.second
return result
def subtract(self):
result = self.first - self.second
return result
▪ 실행
# 클래스 객체 생성
peace = calculate()
# 데이터 삽입
peace.setdata(4, 8)
# 덧셈
peace.add()
# 12 출력
# 뺄셈
peace.subtract()
# -4 출력
▪ 특별 메소드의 사용과 사칙연산 코드
# __init__() : 특별 메소드 중 자동으로 실행 시켜주는 메소드
# 사칙연산
class calculate3:
def __init__(self, arg1, arg2):
self.first = arg1
self.second = arg2
def add(self):
result = self.first + self.second
return result
def subtract(self):
result = self.first - self.second
return result
def multi(self):
result = self.first * self.second
return result
def division(self):
result = self.first / self.second
return result
▪ 실행
# 클래스 객체 생성
jeongwoo = calculate3(2, 11)
# 곱셈
jeongwoo.multi()
# 22 출력
# 나눗셈
jeongwoo.multi()
# 0.18181818181818182 출력
선형 리스트란
▪ 데이터를 일정한 순서로 나열한 자료구조
▪ 순차 리스트(Ordered List)라고도 함
▪ 선형 리스트는 입력 순서대로 저장하는 데이터에 적당
실습
▪ 선형 리스트 말들기
# 선형리스트 만들고, 데이터 삽입
BTS = []
def add_data(name):
BTS.append(None)
BTS[len(BTS)-1] = name
add_data("RM")
add_data("진")
add_data("슈가")
add_data("제이홉")
add_data("뷔")
add_data("지민")
add_data("정국")
print(BTS)
▪ 데이터 추가
# 선형 리스트에 새로운 데이터 추가
def append_data(name, postion):
BTS.append(None) # 리스트 끝에 자리 생성
# 리스트의 끝에서 부터 넣고싶은 데이터의 위치까지 역순
for i in range(len(BTS)-1, postion, -1):
BTS[i] = BTS[i-1] # 앞의 데이터를 뒤로 옮김
BTS[i-1] = name # 앞에 데이터에 새로운 데이터를 씌움
print(BTS)
# 함수 실행
append_data('정우', 1)
▪ 데이터 삭제
# 선형 리스트의 기존 데이터 삭제
# 데이터의 내용과 상관 없이 위치만 필요
def pop_data(postion):
# 리스트의 인덱스를 넘어갈 경우 에러!
if postion > len(BTS):
return print('ERROR')
BTS[postion] = None # 원하는 위치의 데이터 삭제
# 원하는 위치에 데이터가 비었으니 그 위치부터 리스트의 끝까지 실행
for i in range(postion, len(BTS)-1):
BTS[i] = BTS[i+1] # 데이터를 앞으로 하나씩 당김
BTS.pop() # 리스트 끝에 위치한 [None] 데이터 삭제
print(BTS)
# 함수 실행
pop_data(1)
반응형
'대학교 과제 > [알고리즘] 과제' 카테고리의 다른 글
[알고리즘] 5주차 원형리스트 (0) | 2022.10.12 |
---|---|
[알고리즘] 4주차: 단순 연결리스트 (1) | 2022.10.04 |