Kullanıcıdan gelen girdiye göre programı başa almak

benim kodum

kütüphane=[“forza”,“diyet”,“Bomba”,“Pembe inicili kaftan”,“Bir Çocuk Aleko”]
for kitap in range(1,100):
print(“ANA MENÜ\n1-Kitap ekleme\n2-Kitap silme\n3-listeleme\n4-çıkış”)
secim=input("seçim yapınız: ")
if secim==“1”:
kitap=input("eklencek kiatp adı giriniz: ")
kütüphane.append(kitap)
print(kütüphane)
elif secim==“2”:
silinecek_k=input("silinecek kitap adı giriniz: ")
if silinecek_k in kütüphane:
kütüphane.remove(silinecek_k)
print(“kitap silindi”)
else:
print(“böyle bir kitap yok”)
elif secim==“3”:
print(kütüphane)
elif secim==“4”:
break
secim2=input("Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program Eklenecek kitap adını giriniz: kısmına geri döner. ")
if secim2==“E”:
continue
elif secim2==“H”:
break

yapılacak kod
ANA MENÜ
1-Kitap ekleme
2-Kitap silme
3-Kitap listeleme
4-Çıkış
Seçiminiz:

1
Eklenecek kitap adını giriniz:
Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program “Eklenecek kitap adını giriniz:” kısmına geri döner.


2
Silinecek kitap adını giriniz:
!!Kitap silindi!!
Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program "Silinecek kitap adını giriniz:
" kısmına geri döner.
//kitap yoksa
Böyle bir kitap yok!
Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program "Silinecek kitap adını giriniz:
" kısmına geri döner.


3
Kütüphanedeki kitaplar
1-Forsa
2-Diyet
3-Bomba
4-Pembe incili kaftan
5-Bir çocuk Aleko

Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program tüm kitapları tekrar listeler.

benim kod
kütüphane=[“1-forza”,“2-diyet”,“3-Bomba”,“4-Pembe inicili kaftan”,“5-Bir Çocuk Aleko”]
for kitap in range(1,100):
print(“ANA MENÜ\n1-Kitap ekleme\n2-Kitap silme\n3-listeleme\n4-çıkış”)
secim=input("seçim yapınız: ")
if secim==“1”:
kitap=input("eklencek kiatp adı giriniz: ")
kütüphane.append(kitap)
print(kütüphane)
secim2=input("Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program Eklenecek kitap adını giriniz: kısmına geri döner: ")
if secim2==“E”:
continue
elif secim2==“H”:
break
if secim==“2”:
for silinecek_k in kütüphane:
silinecek_k=input("eklencek kiatp adı giriniz: ")
kütüphane.remove(silinecek_k)
secim2=input("Bitirelim mi(E/H): //E denirse ana menüye geri dönülecek, H denirse program Eklenecek kitap adını giriniz: kısmına geri döner: ")
if secim2==“E”:
continue
elif secim2==“H”:
break
else:
print(“böyle bir kitap yok”)

bkz: Soru Sorarken Sıkça Düşülen Hatalar #1 ve #4

1 Beğeni

How to create a menu for a python console application? - Computing Learner

Birkaç gün önce, farklı bir platformda tamamen aynı soru sorulmuştu, bu bir ödev sorusu mu?

class Kitaplık:
    def __init__(self):
        self.kitaplar = []
        self.ana_menü()

    def ekle(self):
        isim = input("Eklenecek kitap adını giriniz: ")
        if isim not in self.kitaplar:
            self.kitaplar.append(isim)
            print("Kitap başarıyla eklendi!")
        else:
            print("Bu kitap zaten mevcut!")

    def sil(self):
        isim = input("Silinecek kitap adını giriniz: ")
        if isim in self.kitaplar:
            self.kitaplar.remove(isim)
            print("Kitap başarıyla silindi!")
        else:
            print("Böyle bir kitap yok!")

    def listele(self):
        uzunluk = len(self.kitaplar)
        if uzunluk > 0:
            for indeks in range(uzunluk):
                kitap = self.kitaplar[indeks]
                print(f"{indeks + 1}-{kitap}")
        else:
            print("Kitaplığınız boş!")

    def seç(self):
        print("-----------------------")
        seçenekler = ("1-Kitap ekleme", "2-Kitap silme", "3-Kitap listeleme", "4-Çıkış")
        metin = "\n".join(seçenekler) + "\nSeçiminiz: "
        while True:
            try:
                seçim = input(metin)
                seçim = int(seçim)
                assert (seçim in [1, 2, 3, 4]) == True
                return seçim
            except (ValueError, AssertionError):
                print(f"'{seçim}' değerini girdiniz fakat bu değer 1, 2, 3 ya da 4 olmalıdır.")
                continue
            finally:
                print("-----------------------")
                
    def ana_menü(self):
        while True:
            try:
                seçim = self.seç()  
                if seçim == 1:
                    fonksiyon = self.ekle
                elif seçim == 2:
                    fonksiyon = self.sil
                elif seçim == 3:
                    fonksiyon = self.listele
                elif seçim == 4:
                    quit()
                while True:
                    fonksiyon()
                    while True:
                        karar = input("Bitirelim mi(E/H): ")
                        if karar == "H":
                            break
                        elif karar == "E":
                            raise Exception
                        else:
                            print(f"'{karar}' değerini girdiniz fakat bu değer 'E' ya da 'H' olmalıdır.")
                    print("-----------------------")
            except Exception:
                continue

kitaplık = Kitaplık()

O kişi için yukarıdaki çözümü paylaşmıştım.

1 Beğeni