@hackaxx Merhaba olabilir tabi ki ama ben genelde kullandığım uygulamalarda karşıma çıkan durumlara göre çözümler nasıl yapılıyormuş diye merak ettiğim için basitlikten ziyade çetrefilli konular oluyor mesela bir çok uygulamanın ve sitenin parola belirleme algoritmasında mükerrer yada sıralı rakamların kullanılması durumunda parola kabul edilmiyor. Şu an onu araştırıyorum nasıl yapılmıştır diye muhtemelen işin içinden çıkamıycam ve konu açacağım
Dogru kutuphane metodlarini kullanmakta bir sorun yok. Bir karakterin kucuk harf olup olmadigi sorgulanmak istenmis ve islower
da tam olarak bunu yapiyor.
kusura bakmayın ben islower filan bilmiyorum aslında pythonın 100de 1ini bile bilmiyorum.bu nedenle sadece bildiklerimi kullanarak çözüm bulmak konusunda ustalaştım. programlamada cehalet evdeki yangın olsa ben içerde yanardım maalesef
Tam olarak anlaşılır söyler misin?
if password.lower() != password != password.upper():
print("hem küçük hem büyük harf var")
Şifre belirlerken numeric karakterler kullanılmayacaksa ve hata mesajlarında hatanın nedeni yazılmayacaksa en kısa yöntem bu oldu.Elinize sağlık
Nümeriklerde de çalışmaz mı?
@Then_Shiffman Yani numeric sorgulamıyorsanız çalışıyor tabi ki. Ama password numeric içeriyor mu diye aynı satırda kodun devamında denemeler yaptım ama doğru sonuç vermedi yada hata verdi.
Anladım, "9213dAsd"
nin büyük ve küçük harf içerdiği tespit edilebiliyor ama direkt "9213dAsd".isnumeric()
yazdığımızda False
diyor; burada any
kullanabiliriz aslında?
kucuk_ve_buyuk_harf_iceriyor = password.lower() != password != password.upper()
numerik_karakter_iceriyor = any(char.isnumeric() for char in password)
if kucuk_ve_buyuk_harf_iceriyor and numerik_karakter_iceriyor:
print("sayı da var küçük harf de var büyük harf de var")
Any kullanımı gömülü fonksiyonlar başlığı altında anlatılmış henüz bu başlığı okumamıştım bilgi için teşekkürler. Bu kod bu şekliyle hata mesajında ayrıntı verilmeyecekse kullanılabilir. Elinize sağlık .
map
ve all
da kullanılabilir:
solution = lambda i: all(any(map(f, i)) for f in (str.isnumeric, str.isupper, str.islower))
@EkremDincel Bu kod ve devaminda yazilacak kod ile koşulu sağlamayan durumun hatası kullanıcıya gösterilebilir mi. Passwordde en az 1 kucuk harf kullanmalisiniz vb.
Hayır, bu kod sadece şifrenin uygun olup olmadığını hesaplıyor.