Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

스택을 구현하는 Python 프로그램

<시간/>

Python을 사용하여 스택을 구현해야 하는 경우 스택 클래스가 생성되고 이 클래스의 인스턴스가 생성됩니다. 푸시할 메소드, 팝 요소가 정의되고 인스턴스가 이러한 메소드를 호출하는 데 사용됩니다.

아래는 동일한 데모입니다 -

예시

class Stack_struct:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def add_elements(self, my_data):
      self.items.append(my_data)

   def delete_elements(self):
      return self.items.pop()

my_instance = Stack_struct()
while True:
   print('Push <value>')
   print('Pop')
   print('Quit')
   my_input = input('What operation would you like to perform ? ').split()

   my_op = my_input[0].strip().lower()
   if my_op == 'push':
      my_instance.add_elements(int(my_input[1]))
   elif my_op == 'pop':
      if my_instance.check_empty():
         print('The stack is empty')
      else:
         print('The deleted value is : ', my_instance.delete_elements())
   elif my_op == 'Quit':
      break

출력

Push <value>
Pop
Quit
What operation would you like to perform ? Push 6
Push <value>
Pop
Quit
What operation would you like to perform ? Psuh 8
Push <value>
Pop
Quit
What operation would you like to perform ? Psuh 34
Push <value>
Pop
Quit
What operation would you like to perform ? Pop
The deleted value is : 6
Push <value>
Pop
Quit
입니다.

설명

  • 필수 속성을 가진 'Stack_struct' 클래스가 생성됩니다.

  • 빈 목록을 만드는 데 사용되는 '초기화' 기능이 있습니다.

  • 'check_empty'라는 또 다른 메서드는 목록이 비어 있는지 확인합니다.

  • 빈 목록에 요소를 추가하는 'add_elements'라는 또 다른 메서드가 정의되어 있습니다.

  • 목록에서 요소를 삭제하는 'delete_elements'라는 메서드가 정의되어 있습니다.

  • 'Stack_struct' 클래스의 객체가 생성됩니다.

  • 수행해야 하는 작업에 대해 사용자 입력을 받습니다.

  • 사용자의 선택에 따라 작업이 수행됩니다.

  • 관련 출력이 콘솔에 표시됩니다.