Rakamları aynı olan sayıları bulma

Evet hocam, şimdi daha iyi anladım. Bu şekilde yaptığımda istediğim gibi ve doğru sonuç alabiliyorum. Yalnız all() fonksiyon mudur metot mudur, onu tam anlayamadım. all nasıl görev yapıyor, işlevi nedir hocam?

image

Aklımdaki tam buydu. Yardımcı olan diğer arkadaşlar da sağolsun beni doğru çözüme ulaştırdılar. Ben fonksiyonsuz yapmak istiyordum. Bu yöntem hoşuma gitti…

Evet hocam, fonksiyon kullanmak istemiyordum. Bu hakikaten tek satırlık bir çözümmüş. Hem çok basit hem pratik. 7, 8 basamaklılara kadar gittim hep istediğim sonucu verdi. Bunu daha çok sevdim :slight_smile:

image

Bu yöntem de çok mantıklıymış ve tek satırlık, kısaymış. Ama s[1:] == s[:-1] bu yöntemi daha çok beğendim.

Hocam, daha önce bu bilgileri toplu olarak paylaştığınızda ilk bakışta pek birşey anlamamıştım. Böyle tek tek, madde madde ayrıntılı açıklayınca çok iyi kavradım. Zahmet oldu, uğraştırdım. Allah razi olsun. Bu bilgiler çok işime yaradı, sağolun…

Evet, ilk seferde Unnick’in yöntemini tam uygulayamadım. Eksik uygulayınca istediğim sonucu alamadım. Sonra tekrar konuşunca, Unnick sağolsun gözümden kaçırdığım kısmın altını çizince bu kez doğru çalıştırabildim. Onun yöntemini de klasörüme alternatif çözüm olarak kaydettim.

Ama tekrar etmekte fayda var, sizin gösterdiğiniz yöntemler tek satırlık olması benim epey işimi gördü. Çok çok çok teşekkürler…

Rica ediyoruz, kolay gelsin.

Bu bir gömülü fonksiyon oluyor (yani dilin kendisinin direkt sunduğu); şurada açıklanıyor ne yaptığı belki yardımcı olur. Aşağı yukarı kendisine verilen değerlerin hepsinin (all) “doğru” olup olmadığına bakıyor. Mesela all(rakam == ilk_rakam for rakam in digerleri) için, eğer diğerlerindeki tüm rakamlar ilk rakama eşitse True dönüyor; ama bir tane bile eşit olmayan varsa geriye False dönüyor.

Dilin dokümantasyonunda da şuna karşılık geldiği yazıyor:

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

Eğer bir tane bile if not’ı sağlayan değer olursa False dönülüyor, yoksa True. Sayın Unnick’in yazdığı areAllElementsSame fonksiyonunun da buna benzediğini görürsünüz. (Bir de any var alâkalı olarak, o da herhangi biri doğruysa True, aksi takdirde False döndürüyor.)

2 Beğeni