Şimdi Ara

Alınan Argumentlerle İşlem Yapmak

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
1.199
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar. Aklıma takılan bir soru var. Oluşturduğum fonksiyona for ile 1,10 arası sayıları range ile gönderiyorum. Fonksyion alıyor. Benim yapmak istediğim şey gelen bu sayıları toplamak.sum(arg) kullanımını biliyorum fakat aşağıdaki kod neden çalışmıyor anlayamadım. Maksadım argument mantığını tam olarak kavramak. Hatam nedir, kod tamamen yanlış mı yardımlarınızı bekliyorum. Kod;


    def fonk(*args):
    toplam = 0

    for i in args:
    toplam += i

    return toplam

    for i in range(1,10):
    fonk(i)
    print(fonk)



  • *args'taki yıldız birden fazla argüman anlamına geliyor olmalı (bir süredir Python bakmıyorum)



    o durumda fonksiyonu çağırmada problem var. print(fonk(1,2,3)) örneğin doğru sekilde 6 basıyor cunku

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Evet tam olarak o işe yarıyor. Şöyle düşünelim altta for döngüsü ile diziye atar gibi fonksiyona sayılar gönderdim. Sonra fonksiyona geldim ve altta yine for döngüsü açarak her elemanı i değişkenine atadım. Her elemanla toplam değerini topladım.

    Toplam = 0
    args=3,4,5 olsun
    for açtım
    toplam = 0
    toplam = toplam + 3
    toplam = 3 oldu
    toplam = toplam + 4
    3+4=7 = toplam 7 oldu
    7 = 7 + 5 = 12
    toplam = 12 cevap 12 çıkmalı bir hata da yok. Anlayamıyorum.

    Teşekkürler cevap için. Bugün beynim çevrimdışı galiba yarın tekrar kurcalayayım.
  • Diziye atar gibi fonksiyona sayi gondermek diye birsey yok fonksiyonu her cagirdiginda hafizada fonksiyon ve argumanlari icin yeni yer acilir return dan sonrada fonksiyon kaybolur hafiza iade edilir

    Ayni fonksiyonu bos yere 10 defa cagirip donen degeri de kullanmamissin



    Yapmak istedigin burda



    https://www.learnpython.org/en/Multiple_Function_Arguments

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • kurosaki_ichigo kullanıcısına yanıt
    Teşekkürler, inceleyeceğim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.