CodeBlanks Logo Icon CodeBlanks

Bekleme kuyruğu

Bekleyen görevleri queue'da tutan kodu eklersin.

Bekleme kuyruğu

Şimdi geri al işlemini yazacağız. pop_undo stack'ten en son eklenen işlemi çıkarır ve döndürür; böylece geri al gerçekleşir.

Eğer stack boşsa, geri alacak bir şey yoktur. Bu durumda kullanıcı dostu bir mesaj döndürülür ve hata önlenir.

Pop işlemi: stack.pop(). Son eklenen elemanı çıkarır ve döndürür. LIFO mantığı sayesinde en son işlem geri alınır.

Boş stack kontrolü

Pop yapmadan önce stack'in boş olup olmadığını kontrol etmeliyiz. Boş stack'te pop işlemi hata verir ve program çökebilir.

Python'da if not stack: boş liste kontrolüdür. Boşsa bir mesaj döndür, değilse pop yap. Bu, güvenli bir geri al sağlar.

Bu kontrol, kullanıcı dostu ve hatasız bir geri al sistemi için şarttır; her zaman yapılmalıdır.

Uygulama Geri al

pop_undo(stack) yaz. Boşsa 'boş', değilse pop. s = init_undo(); push_undo(s, 'ekle'); print(pop_undo(s)) ile ekle yazdır.

Başlangıç kodu

solution.py
def init_undo():
    # Boş geri al yığını
    return []
def push_undo(stack, action):
    # Geri al yığınına ekle
    stack.append(action)
    return stack
def pop_undo(stack):
    # Geri al yığınından çıkar

Örnek çözüm

solution.py
def init_undo():
    # Boş geri al yığını
    return []
def push_undo(stack, action):
    # Geri al yığınına ekle
    stack.append(action)
    return stack
def pop_undo(stack):
    # Geri al yığınından çıkar
    if not stack:
        return 'boş'
    return stack.pop()
s = init_undo()
push_undo(s, 'ekle')
print(pop_undo(s))

Beklenen çıktı

ekle

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bekleme kuyruğu: kavramları eşleştir

Kavram Anlamı
Pop Çıkar
Boş stack Mesaj
LIFO Son ilk
Undo Geri al

2 Boş stack'te pop ne yapmalı?

  • Hata ver
  • Son elemanı al
  • Crash
  • Mesaj döndür Doğru cevap

Açıklama: Mesaj döndür

3 Pop işlemi

Soru
return stack.____()
Cevap
return stack.pop()

Açıklama: pop doğru.

Orta seviye bölümündeki tüm dersler