Sum() Algorithms

#1

Arkadaşlar sum algoritmasını kendim yazmaya çalışırken yaptım sizde görün diye paylaşmak istedim büyük bir şey değil tabi ama :smiley: 2 parametresi var ikisinide yaptım zaten

Gömülü bir fonksiyondur bu sum

İşlevi;
listenin içindeki sayıların toplamını verir

def ListeToplama(liste,deger=0): # neden 0 çünkü 2. parametre zorunlu değil 
    thesum = 0
    for i in liste:
            thesum = thesum + i  
    return thesum + deger # eğer 0 değilse eklensin diye return'a eklettim

Evet gördüğünüz gibi sum fonksiyonunun aslında algoritması böyle umarım işe yaramıştır :slight_smile:

2 Likes

#2

Ellerinize sağlık. Birkaç eleştiri:

  1. thesum = thesum + i satırının girintilenmesi fazla olmuş sanki.
  2. sum fonksiyonunun belgesine göre buradaki deger parametresi karakter dizisi olamaz. Ben şimdi burada deger'e bir karakter dizisi versem büyük ihtimalle hata alırım. :slight_smile: Bence böyle bir kontrol de ekleyin.
0 Likes

#3

Aslına bakarsanız burada += işleci de kullanılabilir:

thesum += i

Bilin istedim. Kolay gelsin :slight_smile:

0 Likes

#4

teşekkür ederim biliyorum += *= v.s işleçlerinin ne işe yaradığını ikiside aynı işi yaptığından dolayı sanki bir şey değiştirmez :slight_smile: orayı değiştirsekte kod satırı yine aynı kalacak aynı uzunlukta yani :slight_smile: hemde daha anlaşılır gözüküyor böyle

0 Likes

#5

print(sum([5,3,2],5))

sanırım şu kod çalışıyor :smiley: olabiliyormuş demekki int

pardon siz string den bahsetmişsiniz özür dilerim :slight_smile:


def ListeToplama(liste,deger=0): # değer ön tanımlı 0 ama değiştirebilirsiniz !!!
    if type(deger) == str:
        raise TypeError("can't string")
    thesum = 0
    for i in liste:
            thesum = thesum + i   
    return thesum + deger

şöyle düzeltilebilir sanki :slight_smile:

0 Likes

#6

Madem build-in foksyonlarini kendin yazmaya karar verdin sorted() i yaz bakalim :slight_smile:

1 Like

#7

Allahın izniyle onuda deneyelim bakalım :))

0 Likes