def is_isogram(string):
clean_word = string.lower()
letter_list = []
for letter in clean_word:
if letter.isalpha():
if letter in letter_list:
return False
letter_list.append(letter)
return True
Arkadaşlar merhaba. Bu kodun anlamını anlatabilecek var mı?
Yukarıdaki tanıma göre isalpha() methodu ile bir harfin alfabe içerisinde bulunup bulunmadığı kontrol edilebiliyor.
Fonksiyon ile string bir ifade parametre olarak alınıyor.
Alınan bu string ifadenin tamamı, lower() methodu ile küçük harflere dönüştürülüyor. Ardından clean_word değişkenine atanıyor.
Boş bir liste oluşturularak letter_list değişkenine atanıyor.
For döngüsü ile clean_word’un her bir karakteri geçici letter değişkenine atanıyor.
letter değişkeninin letter_list içerisinde yer alıp almadığı kontrol ediliyor. Eğer yer alıyorsa False döndürülüyor. Buradaki amaç, bir harfin clean_word içerisinde birden fazla kez yer alıp almadığını kontrol etmek. Eğer letter ile ilk defa karşılaşılıyorsa letter_list içerisine kaydediliyor. Böylece sonraki karşılaşmada if cümlesi doğru olacak ve False değeri döndürülebilecek.
Eğer herhangi bir harf birden fazla kez bulunmuyorsa, True değeri döndürülecek.
*İçerisinde çeşitli karakterler barındıran string bir ifadenin harflerinin, ifade içerisinde birden fazla kez bulunup bulunmadığının kontrol edilebileceği bir fonksiyon.
Görüldüğü üzere, sayılar ve diğer semboller kendini tekrar ettiğinde, aldığımız çıktı yine True oluyor. Fakat alfabe içerisinde yer alan herhangi bir harf 2 veya daha fazla kez tekrar ettiğinde ise çıktı False oluyor.