Kişisel kasa uygulaması

Selamlar,
Python’da basit bir kişisel kasa uygulaması yapıyorum
Fikir şöyle:
Uygulamayı açtığınızda önce kullanıcı adı ve şifre oluşturuyorsunuz
Kasanın içine koymak istediğiniz “bilgiyi” soruyor
“Bilgiyi” girip ENTER’a bastığınızda kasayı kilitleyip sizi oturum açma ekranına gönderiyor

-Oturum Açma-
*Kullanıcı adınızı giriyorsunuz, yanlış girilirse programın baştan başlatılması gerekiyor(çok uğraşmadım)

Asıl sıkıntı şifre kısmında

yazmaya çalıştığım şey; kullanıcıya toplam 3 yanlış şifre girme hakkı veren, üçünün de yanlış girilmesi üzerine programı kapatan bir koddu

Kodu parça parça ayırarak şöyle veriyim

                                                          *Başlangıç/Kullanıcı Oluşturma*

print(“Düyanın En İyi Kişisel Kasa Uygulamasına Hoş Geldiniz!\n”)

istek = int(input(“Kullanıcı Oluşturmak İçin\t1\nProgramı Kapatmak İçin\t2’yi \tTuşlayınız\n”))

#Kullanıcı 1’i Seçerse Programı Başlatacak, 2’yi Seçerse Bakış Atıp Programı Kapatması İçin Yazdım

#Burası Önemli Değil, Eğlencesine Yazdım

if istek == 2:

input(".............\n:/\n Programı Kapatmak İçin [ENTER]")

if istek == 1:

print("Tamamdır!\n Kullanıcı Adı ve Şifre Oluşturmakla Başlayalım\n")

isim = input("Kullanıcı Adınız?\n")

sifre = input("Şifreniz?\n")

#Kullanıcı Adı ve Şifre Oluşturduk

print(“Kullanıcı Profiliniz Oluşturuldu!\tHaydi Kişisel Kasanıza Girişinizi Yapalım\n”)

                                                             - Kasaya Bilgi Koyma/Kilitleme--

print("-"*20,“Kasa 3.0”,"-"*20)

bilgi = input(“Kasanın İçine Koymak İstediğiniz Bilgileri Koyun\n”)

print(“Bilgileriniz Kasaya Konuldu ve Kasa Kilitlendi\n”)

print(“Bilgilerinize Erişmek için Lütfen Aşşağıdaki Alanları Doldurun”)

#Önce Kullanıcı Adını Girdiriyoruz Doğruysa Devam, Yanlışsa Program Çöküyor

#Burasıyla da Çok İlgilenmedim Takılmanıza Gerek Yok

isimcevap = input(“Kullanıcı Adınız?\t:”)

if not isimcevap == isim:

    print("Böyle Bir Kullanıcı Sistemde Kayıtlı Değil\tLütfen Programı Tekrar Başlatın\n")

 input("Programı Kapatmak için [ENTER]")

#Esas Sıkıntı Burada Başlıyor

#Yapmaya Çalıştığım Şey Kullanıcıya Şifre Sorup 3 Yanlış Cevapta Programı Kapatmaya Zorlayan Bir Sistemdi

sifrecevap = input(“Şifreniz?\t:”)

if not sifrecevap == sifre:

print("Şifre Yanlış Girildi, Lütfen Tekrar Deneyiniz\t(2 Hakknız Kaldı)\n")

if sifrecevap == sifre:

print("Kasa Açıldı!\n")

print("İşte Kişisel Bilgileriniz:\n")

print("-"*30,"\n\n")

print("\t\t\t",bilgi,"\n\n")

print("-"*30)

print("Bu Kasa Tek Kullanımlıktı!\n")

input("Kasayı Kilitleyip İçindeki Bilgiler İle Beraber Ateşe Atmak İçin...\n[ENTER]")

sifrecevap == sifre:

print("Yanlış Şifre, Son 1 Hakkınız Kaldı\n")

sifrecevap2 = input(“Şifreniz?”)

if sifrecevap2 == sifre:

print("Kasa Açıldı!\n")

print("İşte Kişisel Bilgileriniz:\n")

print("-"*30,"\n\n")

print("\t\t\t",bilgi,"\n\n")

print("-"*30)

print("Bu Kasa Tek Kullanımlıktı!\n")

input("Kasayı Kilitleyip İçindeki Bilgiler İle Beraber Ateşe Atmak İçin...\n[ENTER]")

sifrecevap3 = input(“Şifreniz?\n”)

if sifrecevap3 == sifre:

print("Kasa Açıldı!\n")

print("İşte Kişisel Bilgileriniz:\n")

print("-"*30,"\n\n")

print("\t\t\t",bilgi,"\n\n")

print("-"*30)

print("Bu Kasa Tek Kullanımlıktı!\n")

input("Kasayı Kilitleyip İçindeki Bilgiler İle Beraber Ateşe Atmak İçin...\n[ENTER]")

if not sifrecevap3 == sifre:

print("Şifre 3 Defa Yanlış Girildi\n")

print("Kasa Kendini İçindeki Bilgi İle Beraber Yok Etti\n")

input("Kasadaki Bilgileriniz Kalıcı Olarak Silindi\nProgramı Kapatmak İçin [ENTER]")

Kod bu kadardı
-değişiklikler yaptığımda şöyle bi sonuç elde ettim
şifre 1 doğru girildi
kasaya erişildi
kapatmak için ENTER kısmında ENTER’a basldı
program kapanmak yerine şifre2’den devam etti

///////Sorum şu: IF ELIF kullanılarak Sonda Denediğim Şifre Girme Kısmı Yapılır mı?
Yaptığım Doğru/Doğruya Yakın Mı?
Şifre Girme Kısmını Düzeltecek Babayiğit var mı .d///////

/Uygulamayı geliştirmek için önerileriniz varsa da söyleyebilirsiniz
/Sıkça Yapılan Hatalar’ı en az 10 kere okudum elimden geldiğince okunaklı, anlaşılabilir yazmayı denedim

Merhaba. Lütfen burayı takip edin:

#kayıt kısmı
t_k={}
k_Adı=input("Kullanıcı adınızı girin :")
sifre=input("Şifrenizi girin :")
t_k[k_Adı]=sifre

#giriş yapma kısmı
hak=3
while True:
    print("Giriş yap")
    g_k=input("Kullanıcı adı :")
    g_s=input("Şifre :")
    
    if hak==0:
        print("hakkınız bitti")
        break
    print(t_k[g_k])
    if g_s == t_k[g_k]:
        print("Giriş Yapıldı")
    else :
        hak=hak -1
        print(f"{hak} hakkınız kaldı")
        continue
    

kodlarını okuyamadım ama basit bir kullanıcı giriş ve kayıt yöntemi hazırladım aynı mantık sizin programınız içinde çalışır diye düşünüyorum

1 Beğeni

Yazdığınız çok iyi olmuş, örneğiniz üzerinden sıkıntımı anlatiyim

programınızda şifre 3 kere yanlış girilince zorla kapatıyor evet ama
kullanıcı adı ve şifreyi doğru girince yanlış girilmiş gibi davranıp 2 kere daha soruyor
bu kısıma bi çözüm bulabilirseniz çok iyi olur, tekrar teşekkürler

ben o kısmı siz doldurursunuz diye bıraktım eğer kodu bu şekilde kullanırsanız giriş yapıldıktan sonra devam etmiycektir. giriş yapıldı kısmından sonra bir yönlendirme yapmanız gerekiyor.

bilgiler={}   
t_k={}
k_Adı=input("Kullanıcı adınızı girin :")
sifre=input("Şifrenizi girin :")
t_k[k_Adı]=sifre

bilgi=input("bilgi gir")
bilgiler[k_Adı]=bilgi
#giriş yapma kısmı
hak=3
while True:
    print("Giriş yap")
    g_k=input("Kullanıcı adı :")
    g_s=input("Şifre :")
    
    if hak==0:
        print("hakkınız bitti")
        break
    print(t_k[g_k])
    if g_s == t_k[g_k]:
        print("Giriş Yapıldı")
        sonuc=bilgiler[k_Adı]
        print("Bilginiz  :",sonuc)
        break
    else :
        hak=hak -1
        print(f"{hak} hakkınız kaldı")
        continue

En temel haliyle bu şekilde yazılabilir geri kalanı siz şekillendirebilirsiniz

2 Beğeni

Cevabınız için tekrar teşekkürler, cevabınızı beklerken ben de şöyle bir şifre girme arayüzü yaptım
sizinki kadar olmasa başlangıç seviyesinde olduğum için benim işimi gördü

sifre = input(“Sifre Seçiniz\n”)

sos = input(“Sifrenizi Onaylamak İçin Tekrar Giriniz\n”)

if sos == sifre:

print("Giris Yaptin\n")

input("Kapamak İçin ENTER")

if sos != sifre:

print("Şifreler Uyuşmuyor, Son 2 Hakkınız Kaldı\n")

sos2 = input("Sifreniz?\n")

if sos2 == sifre:

    print("Şifre Onaylandı")

    input("Kapamak İçin ENTER")

if sos2 != sifre:

    print("Şifreler Uyuşmuyor, Son Hakkınız:\n")

    sos3 = input("Şifreniz?\n")

    if sos3 == sifre:

        print("Şifre Onaylandı!\n")

        input("Kapatmak İçin ENTER")

if sos3 != sifre:

    print("Şifre 3 kere Hatalı Girildi\n")

    print("Şifre Onaylanmadı\n")

    input("Programı Kapatmak İçin ENTER")

Kodalarımda anlatmaya çalıştığım şeyi anlıyamamışsınız yeni öğrendiğiniz farkındayım oyüzden daha anlaşılır şekilde en baştan anlatıyım .
Öncelikle kullanıcıdan aldığınız kullanıcı adı ve şifre bilgilerini biryerde saklamanız lazım biz en basit haliyle bir değikene atıyoruz . Aynı şeyi bilgi içinde yapmanız gerek bu programı tek bir kişi kullanmıycak birden fazla insan kullanıcak gibi düşünün.

Giriş kodları içinse if yapısını yanlış kullanıyosunuz ardı ardına yazdığınız if ler şifre olarak hep aynı şifreyi argüman olarak alıyo kullanıcıya tekrar deneme şansı vermemiş oluyosunuz.

Bende bu işin profosyeneli değilim ama elimden geldiği kadarıyla anlatmaya çalıştım.

Kodalrı sizin için birazdaha toparladım istediğiniz şeye yakın birşey yapmya çalıştım. Yazdığım kodları biraz inceleyin nasıl çalıştığına bakın birazdaha bakış açınız değişicektir diye düşünüyorum

bilgiler={}   
t_k={}
    
def kayıt():
    
    k_Adı=input("Kullanıcı adınızı girin :")
    sifre=input("Şifrenizi girin :")
    t_k[k_Adı]=sifre
    
    bilgi=input("bilgi gir :")
    bilgiler[k_Adı]=bilgi
    sonuc=f" sn{k_Adı} Kaydınız yapıldı."
    return sonuc
#giriş yapma kısmı
def giriş():
    hak=3
    while True:
        print("Giriş yap")
        g_k=input("Kullanıcı adı :")
        g_s=input("Şifre :")
        
        if hak==0:
            print("hakkınız bitti")
            return
        print(t_k[g_k])
        if g_s == t_k[g_k]:
            print("Giriş Yapıldı")
            sonuc="Bilginiz  :",bilgiler[g_k]
            
            return sonuc
        else :
            hak=hak -1
            print(f"{hak} hakkınız kaldı")
            continue
while True:
    print("""
          Giriş Yapmak İçin(g)
          Kayıt Olmak için (k)""")
    giris=input ("Bir Harf Giriniz  :")
    if giris=="g":
        print(giriş())
    if giris=="k":
        print(kayıt())

1 Beğeni
isimparola = dict()
isim = input("isminiz : ")
sifre = input("sifreniz : ")

isimparola[isim] = sifre

print(isimparola)

kasagiris_isim = input("Kullanıcı Adınız :")
kasagiris_sifre = input("Parolanız :")


sayac = 0
while sayac < 2:
    for key, value in isimparola.items():
        if kasagiris_isim == key and kasagiris_sifre == value:
            print("kasa açıldı ve işleme devam edebilirsiniz")
            sayac += 2

        elif kasagiris_isim == key and kasagiris_sifre != value:
            print("kullanıcı adı dogru, parola yanlıs")
            sayac += 1
            print(f"dogru isim ve şifre için {3 - sayac} hakkınız kaldı")
            kasagiris_isim = input("Kullanıcı Adınız :")
            kasagiris_sifre = input("Parolanız :")

        elif kasagiris_isim != key and kasagiris_sifre == value:
            print("kullanıcı adı yanlış, parola dogru")
            sayac += 1
            print(f"dogru isim ve şifre için {3 - sayac} hakkınız kaldı")
            kasagiris_isim = input("Kullanıcı Adınız :")
            kasagiris_sifre = input("Parolanız :")

bende yeni başladım pythona. sana lazım olan bir döngü ve if elif şart blokları. orada isim doğru parola yanlış / isim yanlış parola doğru ve isim ve parolanın her ikisininde dogru yada yanlış olması şeklinde kontrol edecek kodları yazmalısın… ben sözlük ile yaptım ama bilenler başka türlüde sana yardımcı olabilirler.