Python Program Destek

sözlük = {}

while True:

print("""

[1]: Yeni Kişi Ekleme

[2]: Kişi Sorgulama

[3]: Kişiyi Silme

[Q]: Çıkış)

""")

veri = input("Yapmak İstediğiniz İşlemi Tuşlayınız: ")

if veri == 1:

    isim = input("Kişinin Adını Giriniz: ")

    numara = input("Numarayı Yazınız: ")

    sözlük.setdefault(isim , numara)

elif veri == 2:

    sor = input("Sorgulamak İstediğiniz İsimi Giriniz: ")

    if sor in sözlük.keys():

        print(sözlük.get(sor))

    else:

        print("Aranan Kişi Rehberde Bulunamadı...")

elif veri == 3:

    silme = input("Kimi Silmek İstiyorsunuz?: ")

    varmı = silme in sözlük.keys()

    if varmı:

        sözlük.pop(silme)

    else:

        print("Silmek İstediğiniz {} Kişisi Bulunamadı" .format(silme))

elif veri == "q" or veri == "Q":

    break

else:

    print("Hatalı Tuşlama Yaptınız Tekrardan Deneyiniz....")

Dostlar Pythonda Çok yeniyim rehber uygulaması yapmak istedim ancak program çalışmıyor hatam nerede yardımcı olabilirmisiniz ?

Merhaba,
kodlarının tamamına bakmadım, ilk gözüme çarpan hata;
input fonksiyonun çıktısı str dir, yani if bloklarında kıyaslama yapacağın zaman değerleri tırnak içinde yazmalısın. Tıpkı “q” ve “Q” da yaptığın gibi.

if veri == "1":
....
elif veri == "2":
...
sözlük = {}

while True:

    print("""
    
    [1]: Yeni Kişi Ekleme
    
    [2]: Kişi Sorgulama
    
    [3]: Kişiyi Silme
    
    [Q]: Çıkış)
    
    """)

    veri = input("Yapmak İstediğiniz İşlemi Tuşlayınız: ")

    if veri == "1":

        isim = input("Kişinin Adını Giriniz: ")

        numara = input("Numarayı Yazınız: ")

        sözlük.setdefault(isim , numara)

    elif veri == "2":

        sor = input("Sorgulamak İstediğiniz İsimi Giriniz: ")

        if sor in sözlük.keys():

            print(sözlük.get(sor))

        else:

            print("Aranan Kişi Rehberde Bulunamadı...")

    elif veri =="3":

        silme = input("Kimi Silmek İstiyorsunuz?: ")

        varmı = silme in sözlük.keys()

        if varmı:

            sözlük.pop(silme)

        else:

            print("Silmek İstediğiniz {} Kişisi Bulunamadı" .format(silme))

    elif veri == "q" or veri == "Q":

        break

    else:

        print("Hatalı Tuşlama Yaptınız Tekrardan Deneyiniz....")

inputtan gelen bilgiler (veri) string tir. ister int e çevir istersen if elifteki == ifadelerindeki 1 2 3 seçeneklerini stringe çevir.

Çok teşekkür ederim ince bir ayrıntı gözümden kaçmış tamamen. Düzelttim yanlışımı ancak program hiçbir döngüyü görmeden en sondaki else kısmını çalıştırıyor ve Hatalı Tuşlama Yaptınız Tekrardan Deneyiniz… yazıp en başa geri dönüyor bunu çözemedim halen

aşağıdaki kodları dener misin?

sözlük = {}

while True:
    print("""
    [1]: Yeni Kişi Ekleme
    [2]: Kişi Sorgulama
    [3]: Kişiyi Silme
    [Q]: Çıkış
    """)

    veri = input("Yapmak İstediğiniz İşlemi Tuşlayınız: ")

    if veri == "1":
        isim = input("Kişinin Adını Giriniz: ")
        numara = input("Numarayı Yazınız: ")
        sözlük.setdefault(isim , numara)

    elif veri == "2":
        sor = input("Sorgulamak İstediğiniz İsimi Giriniz: ")
        if sor in sözlük.keys():
            print(f"'{sor}' kişisine ait numara bilgisi: {sözlük.get(sor)}")
        else:
            print("Aranan Kişi Rehberde Bulunamadı...")

    elif veri == "3":
        silme = input("Kimi Silmek İstiyorsunuz?: ")
        varmı = silme in sözlük.keys()
        if varmı:
            print(f"{silme} kişisi silindi...")
            sözlük.pop(silme)
        else:
            print("Silmek İstediğiniz {} Kişisi Bulunamadı" .format(silme))

    elif veri == "q" or veri == "Q":
        break

    else:
        print("Hatalı Tuşlama Yaptınız Tekrardan Deneyiniz....")

Evet abi çözüm oldu. Terminal sanırım buga girmiş komple kapatıp açtıktan sonra düzeldi. Yazdığın satırlarda hatalarımı farkettim çok ama çok teşekkür ederim abi vakit ayırıp cevapladığın için.

1 Beğeni