سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ محمد یارمحمدی
اسکیریپت داخل ویدیو
محمدعلی رضا حل شده توسط محمدعلی رضا


سلام خسته نباشید خدمت همه دوستان ببخشید من اصلا این یه تیکه کد رو متوجه نشدم
 

 


    def total_price(self):
        s = 0
        for product in self.products_list:
            s += product.price
        return s


مگه اصلا ما اینجا از Product ارث بری کردیم که اینجا اومدیم Price رو فراخوانی کردیم این از کجا اومده
متوجه نشدم خیلی ممنون میشم اگه توضیح بدین 

سلاااااااااااااااااام محمد جان

ممنون، خدا قوت.

کلاس Purchase برای خرید‌های مشتری هست. مثل فاکتور، وقتی کاربر یه خرید میخواد بکنه یه ابجکت از این کلاس میسازیم. و محصولاتی که میخواد بخره رو با متد add_products به products_list اضافه میکنیم. به متد add_products لیستی از محصولات (لیستی از ابجکت‌های Product) یا یه محصول (یه ابجکت از Product) رو میدیم.

حالا دیگه کار متد total_price واضحه. تو این متد یه متغیر تعریف کردیم به اسم s که میخواهیم جمع تمام محصولات خرید رو باهاش حساب کنیم. تو products_list یه حلقه میزنیم، که توش لیستی از ابجکت‌های Product هست، و قیمت price هر محصول رو به s اضافه میکنیم. در نتیجه جمع کل محصولات خرید مون (Purchase) بدست میاد و برش میگردونیم.

 

باز اگر سوالی داشتی در خدمتم :)

محمدعلی رضا ۱۰ شهریور ۱۴۰۰، ۱۳:۳۲

بله منظورتون رو فهمیدم.

داخل حلقه for ما داریم روی لیست self.products_list میچرخیم، که لیستی از ابجکت‌های کلاس Product هست و قبلا با ابجکت‌های کلاس Product پرش کردیم، و الان هر عضو از لیست self.products_list رو میذاریم تو متغیر product و حالا این متغیر product که ابجکتی از کلاس Product هست صفت price رو داره.

 

لطفا قشنگ به جملاتی که گفتم دقت کن و کد رو ببین و اگر لازمه کد رو خط به خط دیباگ کن.

 

بهترین پاسخ
محمدعلی رضا ۱۱ شهریور ۱۴۰۰، ۱۱:۴۸