코드는 다음과 같아요
class ArrayList:
def __init__(self):
self.items = []
def insert(self, pos, elem): self.items.insert(pos, elem)
def delete(self, pos): return self.items.pop(pos)
def isEmpty(self): return len(self.items)==0
class Another:
def clear():
global items
items = []
def find(item): return items.index(item)
def replace(pos,elem): items[pos] = elem
def sort(): items.sort()
def merge(lst): items.extend(lst)
def display(msg='ArrayList:') : print(msg, size(), items)
def insert(pos, elem): items.insert(pos, elem)
def delete(pos): return items.pop(pos)
def getEntry(pos): return items[pos]
def isEmpty(): return len(items)==0
def size(): return len(items)
class Set:
def __init__(self):
self.items = []
def size(self): return leng(self.items)
def display(self, msg): print(msg, self.items)
def contains(self, item): return item in self.items
def insert(self,elem):
if elem not in self.items:
self.items.append(elem)
def delete(self, elem):
if elem in self.items:
self.items.remove(elem)
def union(self, setB):
setC = Set()
setC.items = list(self.items)
for elem in setB.items :
if elem not in self.items:
setC.items.append(elem)
return setC
def intersect(self, setB):
setC = Set()
for elem in setB.items:
if elem in self.items:
setC.items.append(elem)
return setC
def difference(self, setB):
setC = Set()
for elem in self.items:
if elem not in setB.items:
setC.items.append(elem)
return setC
def myLineEditor():
list = ArrayList()
while True:
command = input("[메뉴선택] i-입력, d-삭제, r-변경, p-출력, l-파일읽기, s-저장, q-종료=> ")
if command == 'i':
pos = int(input(" 입력행 번호: "))
str = input(" 입력행 내용: ")
list.insert(pos,str)
elif command == 'd':
pos = int(input(" 삭제행 번호: "))
list.delete(pos)
elif command == 'r':
pos = int(input(" 변경행 번호: "))
str = input(" 변경행 내용: ")
list.replace(pos, str)
elif command == 'p':
print('Line Editor')
for line in range(list.size()):
print('[%2d] '%line, end='')
print(list.getEntry(line))
elif command =='l':
filename = 'text.txt'
infile = open(filename, "r")
lines = infile.readlines()
for line in lines:
list.insert(list.size(), line.rstrip('\n'))
infile.close()
elif command == 's':
filename = 'text.txt'
outfile = open(filename, "w")
for i in range(list.size()):
outfile.wrtie(list.getItem(i)+'\n')
outfile.close()
elif command == 'q':
return
myLineEditor()