🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ گیسو
تفاوت 1وnum
جامعه پایتون (وب) ایجاد شده در ۱۷ فروردین ۱۴۰۴

سلام وقت بخیر ببخشید داخل کد قبلی که برای جمع اعداد  فرد بود شما گفتید دعئ را داخل پرانتز sum بزارم الان توی تمرین قبلی تعداد اعداد فرد و زوج عدد 1 را گذاشتین تفاوتشان چیست ؟

num_list = [2, 3, 4, 5, 6]
even_count = sum(1 for num in num_list if num % 2 == 0)
odd_count = len(num_list) - even_count
print("تعداد اعداد زوج:", even_count)
print("تعداد اعداد فرد:", odd_count)

 

 

odd_sum = sum(num for num in num_list if num % 2 != 0)

سلام،
تفاوت بین sum(1 for ...) و sum(num for ...) در اینجاست که داخل کد sum(1 for num in num_list if num % 2 == 0)، داریم تعداد اعداد زوج رو میشمریم، چون برای هر عدد زوج یک دونه ۱ تولید میشه و sum این ۱‌ها رو جمع میکنه (مثلاً اگه ۳ تا عدد زوج باشه، خروجی ۳ میشه). اما در کد odd_sum = sum(num for num in num_list if num % 2 != 0)، داریم خود اعداد فرد رو با هم جمع میکنیم(نه تعدادشون)؛ یعنی برای هر عدد فرد، مقدار خود اون عدد (مثلاً ۳ یا ۵) توی sum جمع میشه. توی مثال شما، even_count تعداد زوج‌ها (۳ عدد: ۲، ۴، ۶) رو میشمره و خروجی ۳ میده، ولی odd_sum جمع اعداد فرد (۳ و ۵) رو حساب میکنه و خروجی ۸ میده.
 

محسن موحد ۱۹ فروردین ۱۴۰۴، ۲۱:۵۳