İnput ile işlem seçimi

öğrenme aşamasındayım ve kendi kendime şuanda bir banka arayüzü gibi bir şey yapmaya çalışıyorum lakin işlem seçimi yaptıktan sonra hemen kapanıyor
kodum şu

while islem == 1:
    yatir = input("Yatırmak İstediğiniz Meblayı Giriniz: ")
    yatir += bakiye
    print("Yeni Bakiye: ", bakiye)

while islem == 2:
    cek = input("Çekmek İstedişiniz Meblayı Giriniz: ")
    while cek > bakiye:
        print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
    else:
        bakiye -= cek
        print("Yeni Bakiye: ", bakiye)

while islem == 3:
    alici = input("Para Transferi Yapılacak Hesabın Numarasını Giriniz: ")
    print("Alıcı: ", alici)
    gonder = input("Göndermek İstediğiniz Meblayı Giriniz: ")
    while gonder > bakiye:
        print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
    else:
        print("İşlemi Onaylıyor Musunuz? Evet/Hayır")
        onay = input()
        if onay == "Evet":
            bakiye -= gonder
        else:
            print("İşlem İptal Edildi, İşlemlere Dönülüyor")

konsol çıktısı da şöyle oluyor

Para Yatırmak İçin 1, Para Çekmek İçin 2, Para Göndermek İçin 3, Oturumu Sonlandırmak İçin Şifrenizi Yazınız
İşlem Seçiniz: 1

Process finished with exit code 0Önceden biçimlendirilmiş yazı

Merhaba, </> butonuna tıklayıp

kodu buraya gir veya yapıştır

kısmına kodunuzu yapıştırırsanız okuması daha kolay olacaktır. Ayrıca eğer kodu üzerine çift tıklayıp açılan terminal ekranında çalıştırıyorsanız programın sonuna gelmeniz veya hata çıkma durumunda kapanacaktır. IDLE gibi bir yerden çalıştırarak hata olup olmadığını kontrol eder misiniz? Ayrca kodun sonuna input() eklemek te bir çözüm olabilir.

pycharmda kullanıyorum zaten ve hemen düzenliyorum kodu

sanırım bu programda bir hata olmadığı anlamına geliyor ama yine de siz kodu düzenleyince bir deneyeceğim

kodda eksiklik var gibi geldi, tamamını yapıştırdığınızdan emin misiniz?
mesela islem değişkeni hiçbir yerde tanımlanmamış

tamamı değil de sadece işlem seçim yeri başka etkileyecek bir şey olacağını sanmıyordum olmazsa tüm yazdığım kodu atabilirim

tüm kodu atmanız daha iyi olur programı daha iyi denemek adına

1 Beğeni
print()
print("HESAP OLUŞTURUN")
adsoyad1 = input("İsim ve Soyisim: ")
isim = adsoyad1.split(" ")[0]
soyisim = adsoyad1.split(" ")[1]
sifre1 = input("Şifrenizi girin: ")
sifre2 = input("Şifrenizi Onaylayın: ")
print()

while sifre1 != sifre2:
    print("Şifreler Uyuşmadı\nTekrar Deneyin")
    sifre1 = input("Şifrenizi girin: ")
    sifre2 = input("Şifrenizi Onaylayın: ")
    print()

print("HESAP OLUŞTURULDU\nLÜTFEN GİRİŞ YAPINIZ")

adsoyad2 = input("İsim ve Soyisim: ")
sifre3 = input("Şifre: ")
print()

while sifre3 != sifre1 or adsoyad2 != adsoyad1:
    print("GİRDİĞİNİZ BİLGİLERDEN BİRİ YA DA BİR KAÇI HATALI\nTEKRAR DENEYİNİZ")
    isim = input("İsim ve Soyisim: ")
    sifre3 = input("Şifre: ")
    print()

print("GİRİŞ YAPILDI\n\nHESAP BİLGİLERİ")

print("İsim:", isim)
print("soyisim:", soyisim)
bakiye = 10000
print("Hesap Bakiyesi: ", bakiye)

print()
print("İŞLEMLER")
print("Para Yatırmak İçin 1, Para Çekmek İçin 2, Para Göndermek İçin 3, Oturumu Sonlandırmak İçin Şifrenizi Yazınız")
islem = input("İşlem Seçiniz: ")

while islem == 1:
    yatir = input("Yatırmak İstediğiniz Meblayı Giriniz: ")
    yatir += bakiye
    print("Yeni Bakiye: ", bakiye)

while islem == 2:
    cek = input("Çekmek İstedişiniz Meblayı Giriniz: ")
    while cek > bakiye:
        print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
    else:
        bakiye -= cek
        print("Yeni Bakiye: ", bakiye)

while islem == 3:
    alici = input("Para Transferi Yapılacak Hesabın Numarasını Giriniz: ")
    print("Alıcı: ", alici)
    gonder = input("Göndermek İstediğiniz Meblayı Giriniz: ")
    while gonder > bakiye:
        print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
    else:
        print("İşlemi Onaylıyor Musunuz? Evet/Hayır")
        onay = input()
        if onay == "Evet":
            bakiye -= gonder
        else:
            print("İşlem İptal Edildi, İşlemlere Dönülüyor")

while islem == sifre1:
    print("Oturum Sonlandırılıyor...")

input()

dediğiniz gibi sona input() da koydum lakin olmadı.

Kodda başka hatalarda vardı ve onları da düzelttim. Siz input almışsınız ama int e çevirmediğiniz için islem değişkeni “1” olmuş 1 değil o yüzden islem == 1 False döndürüyor. Eğer islem == “1” deseydik True döndürürdü. O yüzden inputtan alınan veriyi int e çevirdim. Ayrıca kalan hataların da düzeltilmesi ile program şöyle oldu:

print()
print("HESAP OLUŞTURUN")
adsoyad1 = input("İsim ve Soyisim: ")
isim = adsoyad1.split(" ")[0]
soyisim = adsoyad1.split(" ")[1]
sifre1 = input("Şifrenizi girin: ")
sifre2 = input("Şifrenizi Onaylayın: ")
print()

while sifre1 != sifre2:
    print("Şifreler Uyuşmadı\nTekrar Deneyin")
    sifre1 = input("Şifrenizi girin: ")
    sifre2 = input("Şifrenizi Onaylayın: ")
    print()

print("HESAP OLUŞTURULDU\nLÜTFEN GİRİŞ YAPINIZ")

adsoyad2 = input("İsim ve Soyisim: ")
sifre3 = input("Şifre: ")
print()

while sifre3 != sifre1 or adsoyad2 != adsoyad1:
    print("GİRDİĞİNİZ BİLGİLERDEN BİRİ YA DA BİR KAÇI HATALI\nTEKRAR DENEYİNİZ")
    isim = input("İsim ve Soyisim: ")
    sifre3 = input("Şifre: ")
    print()

print("GİRİŞ YAPILDI\n\nHESAP BİLGİLERİ")

print("İsim:", isim)
print("soyisim:", soyisim)
bakiye = 10000
print("Hesap Bakiyesi: ", bakiye)

print()
print("İŞLEMLER")
print("Para Yatırmak İçin 1, Para Çekmek İçin 2, Para Göndermek İçin 3, Oturumu Sonlandırmak İçin Şifrenizi Yazınız")

while True:
    try:
        islem = int(input("İşlem Seçiniz: "))
    except:
        islem = input("İşlem Seçiniz: ")
        
    while islem == 1:
        yatir = int(input("Yatırmak İstediğiniz Meblayı Giriniz: "))
        bakiye += yatir
        print("Yeni Bakiye: ", bakiye)
        break

    while islem == 2:
        cek = int(input("Çekmek İstedişiniz Meblayı Giriniz: "))
        while cek > bakiye:
            print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
        else:
            bakiye -= cek
            print("Yeni Bakiye: ", bakiye)
            break

    while islem == 3:
        alici = input("Para Transferi Yapılacak Hesabın Numarasını Giriniz: ")
        print("Alıcı: ", alici)
        gonder = int(input("Göndermek İstediğiniz Meblayı Giriniz: "))
        while gonder > bakiye:
            print("Yetersiz Bakiye, Geçerli Bir Sayı Giriniz\nBakiye: ", bakiye)
        else:
            print("İşlemi Onaylıyor Musunuz? Evet/Hayır")
            onay = input()
            if onay == "Evet":
                bakiye -= gonder
                print("İşlem tamamlandı.")
                break
            else:
                print("İşlem İptal Edildi, İşlemlere Dönülüyor")
                break

    if islem == sifre1:
        print("Oturum Sonlandırılıyor...")
        break

input()

sadece çıkmadan önce şifreyi 2 kere yazmanız gerekiyor mesela şöyle, diyelim ki şifreniz yazbel.

İşlem Seçiniz: yazbel
İşlem Seçiniz: yazbel
Oturum Sonlandırılıyor...
1 Beğeni

aşırı harika çok teşekkür ederim! iyi geceler

1 Beğeni