Kelimeleri Alfabetik Sıralama Fonksiyonumda Tatlı Bir Hata

str'yi bir sayı grubuna dönüştürüp, bu sayı grubunu karşılaştırabilirsiniz. İşlem açısından daha az zorlayıcı olacaktır.

Yani aşağıdaki a'yı;

a = "elma"

şöyle temsil edebilirsiniz.

a_temsil = (5, 14, 15, 0)

b de elme olsun.

b = "elme"

b'yi de şöyle temsil edebiliriz:

b_temsil = (5, 14, 15, 5)

Şimdi, a_temsil mi yoksa b_temsil mi küçük sorgusu yapabiliriz.

a = "elma"
a_temsil = (5, 14, 15, 0)
b = "elme"
b_temsil = (5, 14, 15, 5)
if a_temsil > b_temsil:
    print(f"Küçükten büyüğe sıralamada {b}, {a}'dan önce gelmeli.")
else:
    print(f"Küçükten büyüğe sıralamada {a}, {b}'dan önce gelmeli.")

Yukardaki sorgunun sonucunda, Küçükten büyüğe sıralamada elma, elme'dan önce gelmeli. yazısı ekrana yazdırılır.

Özetle, < ve > operatörlerini list, tuple ve str gibi dizilerde kullanabilirsiniz:

Örnek:

print('1.2, 1' > '1.2, 0, 335')

Demek ki burada büyüklük sorgusu str'nin uzunluğuna göre yapılmıyor, str'nin içindeki sayıların büyüklüğüne göre yapılıyor.

Aynı durum diğer iterable yani seri olan, indekselenebilir veri tipleri için de geçerli.

Bu, bizim ne işimize yarar? int > int gibi bir sorgu yapmak yerine iterable > iterable sorgusu yaparak da hangi değerin önce gelmesi gerektiğini bulabiliriz.

3 Beğeni