Çözüldü Python kod hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Kernelginar

Megapat
Sosyal Tayfı
Katılım
15 Nisan 2021
Mesajlar
6.872
Makaleler
19
Çözümler
237
Daha fazla  
Sistem Özellikleri
Laptop: ASUS TUF Gaming F15 FX506LHB-HN323
İşlemci: i5-10300H
Ekran kartı: GTX 1650
RAM: 8 GB 3200 MHz DDR4 Laptop
Dahili Depolama: Intel SSDPEKNU512GZ
Cinsiyet
Erkek
Meslek
Öğrenci
Merhabalar.

Ekran görüntüsü 2022-02-20 13-10-50.jpg


Gördüğünüz kodu çalıştırdığımda eğer kullanıcı adı karakteri 20'den büyükse print çıktısını veriyor ama işleme devam ediyor.
Ben işlemin orada bitmesini veya tekrardan başlamasını istiyorum. Nasıl yapabilirim?

Kod:

[CODE lang="python" title="Python"]kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")

sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

if len(sifre) <= 3:
print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
elif len(sifre) <= 6:
print ("Güçsüz şifre.")
elif len(sifre) <= 12:
print ("Orta düzeyde şifre.")
elif len(sifre) <= 20:
print ("Güçlü şifre.")
[/CODE]
 
Çözüm
Ah, evet. Unutmuşum. break döngülerde kullanılıyordu. O halde şu yöntem işe yaracaktır:

Python:
kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
    print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")

else:
  
    sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

    if len(sifre) <= 3:
        print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
    elif len(sifre) <= 6:
            print ("Güçsüz şifre.")
    elif len(sifre) <= 12:
        print ("Orta düzeyde şifre.")
    elif len(sifre) <= 20:
        print ("Güçlü şifre.")

Eğer kullaniciAdi karakteri sayısı 20'den yüksekse, uyarı verir. Bunun dışında bir karakter sayısındaysa -yani 20'nin altındaysa- else bloğu içindekiler çalışır.
Python:
kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
    print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")
    break
   
sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

if len(sifre) <= 3:
    print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
elif len(sifre) <= 6:
    print ("Güçsüz şifre.")
elif len(sifre) <= 12:
    print ("Orta düzeyde şifre.")
elif len(sifre) <= 20:
    print ("Güçlü şifre.")

Bu şekilde dener misin? break deyimi, işlemi bitir demek. Yukarıdaki kodda; eğer kullaniciAdi karakteri, 20'den büyükse devreye break girer ve işlemi durdurur.
 
Yani python syntaxi ile ilgili pek bir bilgim yok fakat gördüğüm kadarıyla 20 den büyük koşulu sağlandıgında print mesajını bastıtırıyorsun. Ama sonrasında durdurcak bir komudun yok. İf else yapısı ile yap. Örnek


if len(kullaniciAdi) > 20:
print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")
else:


sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

if len(sifre) <= 3:
print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
elif len(sifre) <= 6:
print ("Güçsüz şifre.")
elif len(sifre) <= 12:
print ("Orta düzeyde şifre.")
elif len(sifre) <= 20:
print ("Güçlü şifre.")



Dediğim gibi syntaxını bilmiyorum fakat algoritmik bir hata var.
 
Python:
kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
 print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")
 break.

sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

if len(sifre) <= 3:
 print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
elif len(sifre) <= 6:
 print ("Güçsüz şifre.")
elif len(sifre) <= 12:
 print ("Orta düzeyde şifre.")
elif len(sifre) <= 20:
 print ("Güçlü şifre.")

Bu şekilde dener misin? Break deyimi, işlemi bitir demek. Yukarıdaki kodda; eğer kullaniciAdi karakteri, 20'den büyükse devreye break girer ve işlemi durdurur.

Ekran görüntüsü 2022-02-20 13-28-41.png


Ekran görüntüsü 2022-02-20 13-28-30.png
 
Ah, evet. Unutmuşum. break döngülerde kullanılıyordu. O halde şu yöntem işe yaracaktır:

Python:
kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
    print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")

else:
  
    sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

    if len(sifre) <= 3:
        print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
    elif len(sifre) <= 6:
            print ("Güçsüz şifre.")
    elif len(sifre) <= 12:
        print ("Orta düzeyde şifre.")
    elif len(sifre) <= 20:
        print ("Güçlü şifre.")

Eğer kullaniciAdi karakteri sayısı 20'den yüksekse, uyarı verir. Bunun dışında bir karakter sayısındaysa -yani 20'nin altındaysa- else bloğu içindekiler çalışır.
 
Çözüm
Ah, evet. Unutmuşum. break döngülerde kullanılıyordu. O halde şu yöntem işe yaracaktır:

Python:
kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

if len(kullaniciAdi) > 20:
    print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")

else:
 
    sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

    if len(sifre) <= 3:
        print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
    elif len(sifre) <= 6:
            print ("Güçsüz şifre.")
    elif len(sifre) <= 12:
        print ("Orta düzeyde şifre.")
    elif len(sifre) <= 20:
        print ("Güçlü şifre.")

Eğer kullaniciAdi karakteri sayısı 20'den yüksekse, uyarı verir. Bunun dışında bir karakter sayısındaysa -yani 20'nin altındaysa- else bloğu içindekiler çalışır.

Tamamdır oldu şu an. Çözüm olarak raporluyorum.
 
İstediğiniz şu mu?
Python:
while True:
    kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")
    
    if len(kullaniciAdi) > 20:
        print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")
    
    sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")
    
    if len(sifre) <= 3 :
        print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
    elif len(sifre) <= 6 and len(sifre) > 3:
        print ("Güçsüz şifre.")
    elif len(sifre) <= 12 and len(sifre) > 6:
        print ("Orta düzeyde şifre.")
    elif len(sifre) <= 20 and len(sifre) > 12:
        print ("Güçlü şifre.")
 
İstediğiniz şu mu?
Python:
while True:
 kullaniciAdi = input("Bir kullanıcı adı belirleyiniz: ")

 if len(kullaniciAdi) > 20:
 print ("Kullanıcı adınız çok uzun. En fazla 20 karakterden oluşan bir kullanıcı adı oluşturabilirsiniz.")

 sifre = input("Asla unutmayacağınız güçlü bir şifre belirleyiniz: ")

 if len(sifre) <= 3 :
 print ("Lütfen en az 4 karakterli bir şifre belirleyiniz.")
 elif len(sifre) <= 6 and len(sifre) > 3:
 print ("Güçsüz şifre.")
 elif len(sifre) <= 12 and len(sifre) > 6:
 print ("Orta düzeyde şifre.")
 elif len(sifre) <= 20 and len(sifre) > 12:
 print ("Güçlü şifre.")

Hocam halledildi sorun. Yine de sağ olun.
 

Yeni konular

Geri
Yukarı