#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목class method 관련하여 질문드립니다.2024-08-24 18:18
작성자

안녕하십니까, class 공부를 하던 도중 method 구성하는 과정에서 질문이 있어서 글을 작성하였습니다.

한 번 읽어주시면 진심으로 감사하겠습니다.

메소드 이름: makeOrder l 입력 파라메터

n 첫번째 파라메터: 문자열, 주문 번호

n 두번째 파라메터: 문자열 리스, 주문 항목(들) l 부동작추가설명

n Server 클래스의 객체는 makeOrder로 입력 은 주문 보를 객체 부에서 리스리함. 이때 게 들어주문은 리스의 끝에 추가함

l Return 값
n makeOrder는 주문 번호가 객체 부에서 리하는 주문 보에 없는 경우, 입력 파라메터

은 주문 보를 부적으로 리하는 주문 보 리스마지막에 [ 주문 번호, 주 문 항목을 element로 는 문자열 리스]의 형태저장, 입력 파라메터로 은 주

보로 구성한 [ 주문 번호, 주문 항목을 element로 는 문자열 리스]를 return 함

(return 값이 리스임)
n makeOrder는 주문 번호가 객체 부에서 리하는 주문 보에 는 경우, 수 -1

#2022년도 웹파이선 1학기 기말고사

class Server:
def __init__(self):
self.order_information = []
def makeOrder(self, order_number, order_item):
if order_number in [order[0] for order in self.order_information]:
return -1
new_order = [order_number, order_item]
self.order_information.append(new_order)

'''makeOrder 메소드 설명 : 새로운 주문이 들어왔을 때, 그것의 order_number가 중복되었다면 -1을 반환해야하므로 order은 order_information에서 주문번호만을 가지고 새로운 리스트를 형성하여 중복되었는지를 확인하는 방법이다.
new_order는 새로운 주문을 받아들이는 리스트로, 이미 중복되지 않은 주문임을 확인하였으니 order_information에 append 메소드를 이용하여 [order_number, order_item]을 추가한다.
궁금한 점 : if order_number in [order[0] for order in self.order_information]: >>> 이 구절을 if order_number == self.order_information[0][0]: 로 작성하면 안되는지가 궁금하다.
주문번호는 한번에 하나만 들어오기에 여러 개의 주문번호를 list로 재구성하여 확인할 필요가 없다고 생각한다.'''

kim = Server()
print(kim.makeOrder("001", "피자"))

댓글