print('''
----------------------------------------------
ATM PROGRAMI
----------------------------------------------
''')
kart_no = 123456789
tel_no = 5331234567
dort_haneli_sifre = int('1234')
yanlis_hakki = 3
while True:
k_adı_tel_no = int(input('Kart no ya da tel no giriniz:'))
Sifre = int(input('Hesap Şifreniz:'))
if (k_adı_tel_no == kart_no or tel_no and Sifre == dort_haneli_sifre):
print('Başarılı bir şekilde giriş yaptınız yönlendiriliyorsunuz.')
break
elif ( k_adı_tel_no != kart_no or tel_no):
yanlis_hakki -= 1
print('Kullanıcı adı veya şifre yanlış\nKalan deneme hakkınız:',yanlis_hakki)
if (yanlis_hakki == 0):
print('yanlış hakkınız doldu çıkartılıyorsunuz')
break
else:
if(Sifre != dort_haneli_sifre):
yanlis_hakki -= 1
print('Kullanıcı adı veya şireniz yanlış\nKalan deneme hakkınız:',yanlis_hakki)
if (yanlis_hakki == 0):
print('yanlış hakkınız doldu çıkartılıyorsunuz')
break
print('''----------------------------------------------''')
print('''
Tekrardan hoşgeldiniz yapabileceğiniz işlemler
1 - Bakiye sorgulama
2 - Para çekme
3 - Para yatırma
4 - çıkmak için 0'a basınız
''')
bakiye = 1500
while True:
istenen_islem = int(input("Ne yapmak istersiniz?"))
if (istenen_islem == 0):
print('Ayrılıyorsunuz, iyi günler dileriz.')
break
elif (istenen_islem == 1):
print('Bakiyeniz:{} tl'.format(bakiye))
elif (istenen_islem == 2):
cekilmek_istenen_para = int(input('Kaç tl çekmek istersiniz?'))
cekilmek_istenen_para -= bakiye
if(bakiye-cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
elif (istenen_islem == 3):
yatirilmak_istenen_para = int(input('Ne kadar yatırmak istersiniz?'))
yatirilmak_istenen_para += bakiye
print('işeminiz başarılı bir şekilde gerçekleşti. Yeni bakiyeniz', bakiye)
else:
print('Yanlış işlem yaptınız tekrar deneyiniz.')
Selamlar kod yukarıda gördüğünüz gibi bir atm programı yapmaya çalıştım. Ancak şifre kısmını atlarsanız problem orada değil para çekme ve para yüklemede problem var. Bakiye değişmiyor o işlemleri yaparken nasıl düzeltebilirim bu kodu.
Hatalarını sıralayalım. while True kullanmak. k_adı_tel_no == kart_no or tel_no yazmak. Bunun ne anlama geldiğini bilmiyorsun. Boolean işlemleri öğren ve Python'da nasıl çalıştıklarını öğren. Sen farkında değilsin ama şifreyi doğru girdiğin halde ne girersen gir, giriş yapabilirsin bu yüzden.
Şifre yanlış olduğunda ise elif kısmına girer. Çünkü oradaki boolean ifade de hatalı. Sürekli True döndürecek bir şey yazılmış. Bu yüzden else kısmına hiçbir zaman girmez.
Bu hatalı girişten sonra giriş kısmını söylediğiniz gibi atlamış olalım.
E yine while True var.
Hata kısmına gelecek olursak yanlış değişkenin değerini değiştiriyorsunuz. Buna ek olarak kontrol kısmını da yanlış yerde yapıyorsunuz. Adam borçlanınca adama borçlanamamazsınız denmez. Adam borçlanmadan önce denir.
Kod:
cekilmek_istenen_para -= bakiye
if (bakiye-cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
# yerine
if (bakiye - cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
bakiye -= cekilmek_istenen_para
Hatalarını sıralayalım. while True kullanmak. k_adı_tel_no == kart_no or tel_no yazmak. Bunun ne anlama geldiğini bilmiyorsun. Boolean işlemleri öğren ve Python'da nasıl çalıştıklarını öğren. Sen farkında değilsin ama şifreyi doğru girdiğin halde ne girersen gir, giriş yapabilirsin bu yüzden.
Şifre yanlış olduğunda ise elif kısmına girer. Çünkü oradaki boolean ifade de hatalı. Sürekli True döndürecek bir şey yazılmış. Bu yüzden else kısmına hiçbir zaman girmez.
Bu hatalı girişten sonra giriş kısmını söylediğiniz gibi atlamış olalım.
E yine while True var.
Hata kısmına gelecek olursak yanlış değişkenin değerini değiştiriyorsunuz. Buna ek olarak kontrol kısmını da yanlış yerde yapıyorsunuz. Adam borçlanınca adama borçlanamamazsınız denmez. Adam borçlanmadan önce denir.
Kod:
cekilmek_istenen_para -= bakiye
if (bakiye-cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
# yerine
if (cekilmek_istenen_para - bakiye < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
bakiye -= cekilmek_istenen_para
Aynen. Arkadaşın dediği gibi giriş kısmında da sorun var. Ek olarak istersen kullanıcı adı ve şifre kontrolünü tek if ile kontrol edebilirsin Moralin bozulmasın böyle böyle eksikler kapanır elbet. İyi çalışmalar
Hatalarını sıralayalım. while True kullanmak. k_adı_tel_no == kart_no or tel_no yazmak. Bunun ne anlama geldiğini bilmiyorsun. Boolean işlemleri öğren ve Python'da nasıl çalıştıklarını öğren. Sen farkında değilsin ama şifreyi doğru girdiğin halde ne girersen gir, giriş yapabilirsin bu yüzden.
Şifre yanlış olduğunda ise elif kısmına girer. Çünkü oradaki boolean ifade de hatalı. Sürekli True döndürecek bir şey yazılmış. Bu yüzden else kısmına hiçbir zaman girmez.
Bu hatalı girişten sonra giriş kısmını söylediğiniz gibi atlamış olalım.
E yine while True var.
Hata kısmına gelecek olursak yanlış değişkenin değerini değiştiriyorsunuz. Buna ek olarak kontrol kısmını da yanlış yerde yapıyorsunuz. Adam borçlanınca adama borçlanamamazsınız denmez. Adam borçlanmadan önce denir.
Kod:
cekilmek_istenen_para -= bakiye
if (bakiye-cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
# yerine
if (bakiye - cekilmek_istenen_para < 0):
print("Hesabınızda talep edilen tutar bulunmamaktadır.")
continue
bakiye -= cekilmek_istenen_para
Aynen. Arkadaşın dediği gibi giriş kısmında da sorun var. Ek olarak istersen kullanıcı adı ve şifre kontrolünü tek if ile kontrol edebilirsin Moralin bozulmasın böyle böyle eksikler kapanır elbet. İyi çalışmalar