Python ile Aktif Ürünleri Bulma ve Listeleme

Merhaba. Forumda yeniyim. Python’da mentörlük yapan bir hoca buldum kendime. Gerçekten çok güzel anlatıyor adam onda bir sorun yok ama sorun Bende gibi. Bazı kısımlarda kafam karışıyor anlamakta. Mesela aşağıdaki kodu Bana video üzerinden mümkünse anlatabilir mi?

Mesela def find_active_products(products) burada parantez içerisine gelen products değeri nereden geliyor listenin değeri mi o random mu onu çözemiyorum bir türlü. Yani o kısmı anlamakta zorluk çekiyorum.

class Product:
    def __init__(self, id, name, price, amount, date, is_active):
        self.Id = id
        self.Name = name
        self.Price = price
        self.Amount = amount
        self.Date = date
        self.Status = is_active

products = [
    Product(1, 'iPhone 13', 1500, 20, '2024-04-22', False),
    Product(2, 'iPhone 14', 1500, 20, '2024-04-22', False),
    Product(3, 'iPhone 15', 1500, 20, '2024-04-22', False),
    Product(4, 'iPhone 15 Pro Plus', 1500, 20, '2024-04-22', True),
    Product(5, 'iPhone 15 Pro Plus', 1500, 20, '2024-04-22', False)
]

def find_active_products(products):
    active_products = []
    inactive_products = []
    
    for product in products:
        if product.Status:
            active_products.append(product)
        else:
            inactive_products.append(product)
    
    if active_products:
        return active_products
    else:
        return False

result = find_active_products(products)

if result:
    for product in result:
        print(product.Name)
else:
    print('There are no active products.')

Merhaba

Sorununuzu hocaya ilettiginizde ne dedi?

Burada ne istiyorsunuz?

Kafa karisikliginin en buyuk nedeni modul seviyesinde kod yazilmis olmasi. Bir adet sinif taniminin ve bir adet fonksiyon taniminin disinda kalan kisimlar main gibi bir fonksiyona aktarilabilir. Bu durumda find_active_products’in cevredeki koddan bagimsiz oldugu ve products argumaninin result = ... satirindaki products’tan geldigi daha acik olur. result = ... satirindaki products’in yukaridaki liste olarak tanimli deger oldugu da.

Bir fonksiyonun, parametreleri disinda yerlerden veri almasi mumkun, fakat -en azindan konuya veya dile hakim olana kadar- bunu kullanmayip ve gormezden gelip, butun degerlerinin cagrim esnasinda, argumanlar olarak geldigini dusunmenizde fayda var. Yani products, find_active_products(x) esnasinda x ne degere sahipse o degere sahip.

1 Beğeni

Hocam mantığı kavramam için o kısımda bazı soruları anlatarak anlamaya çalışmak istiyorum aslında birinden.

pythontutor.com

Kod akışını görselleştiren bir site. İşinize yarayabilir.
(Bazen foruma pythontutor reklamı yapmak için üye olduğumu ve para aldığımı düşünüyor olabilirsiniz. Hayır almıyorum.) (:slight_smile:

1 Beğeni

@rufiqcavadov mentor buldugunu soylemedin mi zaten?

Suraya da bakarsan benim hoca buldugunu zannettigimi goreceksin:

Peki o zaman bu ne demek? ↓

Oncelikle kendini ifade etme ve yazilanlari okuma becerilerini gelistirmen lazim. Rencide etmek icin soylemiyorum: Kendini Turkce’de ifade edemiyorsan Python’da ifade etmen daha da zor olacaktir.