Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python ใช้งาน Stack (สแต็ก) แบบ Interactive

เมื่อต้องการนำ Stack มาใช้งานใน Python สามารถสร้างคลาส Stack ที่มีเมธอด push (เพิ่ม), pop (ลบ), และตรวจสอบว่าว่างหรือไม่

โค้ดตัวอย่าง

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 ')
    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 
Pop
Quit
What operation would you like to perform? Push 6
Push 
Pop
Quit
What operation would you like to perform? Push 8
Push 
Pop
Quit
What operation would you like to perform? Push 34
Push 
Pop
Quit
What operation would you like to perform? Pop
The deleted value is: 6
Push 
Pop
Quit

คำอธิบาย

  • คลาส Stack_struct ใช้ list เป็นโครงสร้างข้อมูลภายใน

  • add_elements (push): เพิ่มข้อมูลท้ายลิสต์ append() — O(1)

  • delete_elements (pop): ลบข้อมูลท้ายลิสต์ pop() — O(1)

  • โปรแกรมรับคำสั่งจากผู้ใช้แบบ interactive

ข้อสังเกต: ผลลัพธ์ตัวอย่างแสดงคำสั่ง Psuh (สะกดผิด) หลายครั้ง แต่โปรแกรมตรวจสอบ my_op == 'push' ดังนั้นคำสั่งที่สะกดผิดจะไม่ทำงาน — อาจเป็นข้อผิดพลาดในการบันทึกผลลัพธ์ต้นฉบับ

ใน Python จริง: list เองก็ใช้เป็น stack ได้เลย (append = push, pop = pop) ไม่ต้องสร้างคลาสใหม่ก็ได้