هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار
2.66K subscribers
21 photos
14 videos
5 files
65 links
Download Telegram
#خبر #هوش_مصنوعی
‌
⚡️ رابط Decisions API از OpenAI به نسخه نهایی رسید
‌
اوپن‌ای‌آی Decisions API رو برای همه توسعه‌دهنده‌ها به‌صورت رسمی (GA) منتشر کرد. این API برای تصمیم‌های کوچیک و پرتکرار داخل اپ‌ها و ایجنت‌ها ساخته شده؛ مثل دسته‌بندی متن یا تصویر، مسیریابی درخواست یا انتخاب قدم بعدی، بدون اینکه مدل یه پاسخ کامل تولید کنه. طبق اعلام OpenAI تا ۱۰ برابر سریع‌تر از GPT‑6 Luna از طریق Responses API جواب می‌ده.
‌
شما سؤال و جواب‌های مجاز رو تعریف می‌کنید و API یکی از سه نوع خروجی رو برمی‌گردونه: احتمال (predicate)، انتخاب از بین گزینه‌ها (choice) یا امتیاز (score). از زمان بتا هم ورودی JSON، تا ۴۰۰ سؤال در هر درخواست، کش پرامپت و اتصال مستقیم به GPT‑Live اضافه شده. قیمتش ۰٫۱ دلار برای هر میلیون توکن ورودیه و هزینه توکن خروجی نداره.
‌
معرفی Decisions API رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤5🔥1
#خبر #هوش_مصنوعی
‌
🤖 حالت auto mode پیش‌فرض اپ‌های Claude می‌شه
‌
آنتروپیک اعلام کرد از هفته آینده، جلسه‌های جدید در بیشتر اپ‌های Claude (وب، دسکتاپ و موبایل) روی پلن‌های Pro، Max و Team به‌طور پیش‌فرض در auto mode اجرا می‌شن. این همون تغییریه که از ۱۴ آگوست در Claude Code اعمال شده بود و حالا به بقیه اپ‌ها هم می‌رسه.
‌
توی این حالت لازم نیست هر قدم رو جداگانه تأیید کنید؛ یه بررسی خودکار کارهای امن رو اجرا می‌کنه و جلوی کارهای پرخطر رو می‌گیره تا Claude راه دیگه‌ای پیدا کنه. هر وقت خواستید می‌تونید به حالت دستی برگردید. برای Enterprise، API و پلتفرم‌های ابری فعلاً اختیاریه و ادمین‌های Enterprise قبل از تغییر ایمیل می‌گیرن.
‌
جزئیات auto mode رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤4
#آموزش #جنگو
‌
⚡️ می‌دونستین get_or_create توی جنگو چیکار می‌کنه؟
‌
خیلی وقت‌ها می‌خوای یک رکورد رو از دیتابیس بگیری و اگه نبود، بسازیش. معمولاً این کار رو با try/except و DoesNotExist می‌نویسیم، ولی جنگو یک میان‌بر آماده براش داره.
‌
فرض کن مدل Tag یک فیلد name داره و مدل Profile فیلدهای email و city رو:
‌
tag, created = Tag.objects.get_or_create(name="python")
print(tag.name, created)

tag, created = Tag.objects.get_or_create(name="python")
print(tag.name, created)

print(Tag.objects.count())

‌
خروجی:
‌
python True
python False
1

‌
این متد یک تاپل دوتایی برمی‌گردونه: خود آبجکت و یک True یا False که می‌گه تازه ساخته شد یا از قبل بود. بار دوم چیزی ساخته نشد و هنوز فقط یک تگ داریم.
‌
💎 فیلدهایی که فقط موقع ساختن لازم‌ان رو توی defaults بده. این فیلدها توی جستجو استفاده نمی‌شن:
‌
p, created = Profile.objects.get_or_create(
email="ali@example.com",
defaults={"city": "Tehran"},
)
print(p.city, created)

p, created = Profile.objects.get_or_create(
email="ali@example.com",
defaults={"city": "Shiraz"},
)
print(p.city, created)

‌
خروجی:
‌
Tehran True
Tehran False

‌
بار دوم پروفایل پیدا شد، پس شهرش عوض نشد. اگه می‌خوای رکورد موجود آپدیت هم بشه، سراغ update_or_create برو:
‌
p, created = Profile.objects.update_or_create(
email="ali@example.com",
defaults={"city": "Shiraz"},
)
print(p.city, created)

‌
خروجی:
‌
Shiraz False

‌
✔️ خروجی این متدها تاپله، نه خود آبجکت. اگه created رو لازم نداری، بنویس tag, _ = ...
⚠️ طبق مستندات جنگو، جلوگیری از رکورد تکراری توی درخواست‌های هم‌زمان فقط وقتی تضمینه که فیلدهای جستجو توی دیتابیس یکتا باشن (مثلاً با unique=True). توی این مثال name و email یکتا تعریف شدن.
❌ اگه جستجو بیشتر از یک رکورد پیدا کنه، خطای MultipleObjectsReturned می‌گیری.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
#خبر #هوش_مصنوعی #جمینای

📍 جمینای حالا برنامه‌ی روزت رو با Google Maps و تقویم می‌چینه

گوگل اعلام کرد جمینای (Gemini) از این به بعد، با اجازه‌ی خودت، می‌تونه جستجوها و مکان‌های ذخیره‌شده‌ات در Google Maps رو کنار رویدادهای Google Calendar ببینه و برای روزت پیشنهادهای شخصی‌سازی‌شده بده؛ مثلاً رستوران یا جایی نزدیک مسیر قرارهات.

این قابلیت بخشی از Personal Intelligence و برنامه‌های متصل (Connected Apps) جمینایه و از تنظیمات همین بخش فعال یا غیرفعال می‌شه.

🔗 منبع رسمی: اکانت Gemini در ایکس
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤1
#خبر #هوش_مصنوعی

📱 دستیار Grok Bot حالا به اپ‌های گوشی وصل می‌شه

اکانت رسمی Grok Bot اعلام کرد این دستیار از این به بعد می‌تونه با اپ‌های تقویم، یادآورها (Reminders)، مخاطبین و چند اپ دیگه‌ی گوشیت کار کنه؛ مثلاً یه رویداد به تقویمت اضافه کنه یا یادآور بسازه.

این قابلیت از همین حالا داره برای iOS و اندروید منتشر می‌شه.

🔗 منبع رسمی: اکانت Grok Bot در ایکس
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#خبر #هوش_مصنوعی #ویدیو

🎬 مدل ویدیویی Kling 4.0 منتشر شد

شرکت Kling AI نسل جدید مدل تولید ویدیوی خودش یعنی Kling 4.0 رو عرضه کرد. این مدل تا ۳۰ ثانیه ویدیوی پیوسته در یک برداشت می‌سازه، صدای استریو با هماهنگی دقیق‌تر لب‌ها تولید می‌کنه و حرکت‌های سریع و حرکت دوربین رو پایدارتر از قبل نشون می‌ده.

با قابلیت Omni Reference هم می‌شه تا ۱۵ تصویر، ویدیو، شخصیت یا صدا رو در یک کار ترکیب کرد تا شخصیت‌ها و صحنه‌ها یکدست بمونن. این مدل علاوه بر سایت Kling، از طریق API و سرویس‌هایی مثل Runway، fal و Adobe Firefly هم در دسترسه.

🔗 منبع رسمی: اکانت Kling AI در ایکس
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار
#کوئیز #پایتون ‌ پیش‌نیاز: کلاس، متد __init__ و self ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. ‌ @codingyar
#پاسخ_کوییز #پایتون
‌
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
‌
✅ جواب درست: «5 10»
‌
هر بار که Wallet(10) صدا زده می‌شه، یک آبجکت جدا ساخته می‌شه و متد __init__ مقدار
self.money همون آبجکت رو ۱۰ می‌ذاره. پس هر کدوم از a و b کیف پول خودشون رو دارن.
‌
خط a.spend(3) پول a رو به ۷ می‌رسونه. مقدار برگشتیش چاپ نمی‌شه، ولی تغییرش روی آبجکت می‌مونه. بعد a.spend(2) از همون ۷ کم می‌کنه و ۵ برمی‌گردونه. آبجکت b هم اصلاً دست نخورده و همون ۱۰ می‌مونه.
‌
اشتباه رایج، گزینهٔ «8 10» بود: اینکه فکر کنیم a.spend(3) چون چاپ نشده اثری نداره. گزینهٔ «5 5» از اینجا میاد که فکر کنیم money بین همهٔ آبجکت‌ها مشترکه، در حالی که
self.money مال همون آبجکته. گزینهٔ «7 10» هم یعنی فکر کنیم متد، مقدار قبل از کم کردن رو برمی‌گردونه.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#خبر #هوش_مصنوعی #Cursor

💻 قابلیت Computer Use به Cursor اضافه شد

حالا ایجنت‌های Cursor می‌تونن کنترل کامپیوترتون رو دست بگیرن و توی هر برنامه‌ای، نه فقط مرورگر، کلیک کنن و تایپ کنن. مثلاً می‌تونن شبیه‌ساز iOS رو باز کنن و قابلیتی رو که خودشون ساختن همون‌جا تست کنن.

ابزار Cursor هر وقت کاری لازمش داشته باشه خودش سراغ این قابلیت می‌ره، ولی شما هم می‌تونید با منشن کردن Computer Use توی پرامپت ازش بخواید. برای استفاده کافیه Cursor رو به آخرین نسخه آپدیت کنید.

🔗 منبع رسمی: اکانت Cursor در ایکس
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤3
Channel name was changed to «هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار»
#خبر #هوش_مصنوعی #Kimi

🔥 مدل Kimi K3.1 Pro معرفی شد

شرکت Moonshot AI از Kimi K3.1 Pro رونمایی کرد؛ قوی‌ترین مدل اوپن‌ویت این شرکت با ۲.۸ تریلیون پارامتر (۱۰۴ میلیارد پارامتر فعال، معماری MoE)، کانتکست ۱ میلیون توکنی و پشتیبانی از ورودی تصویری. به گفته‌ی سازنده، این مدل توی بنچمارک‌های کدنویسی و ایجنتی هم‌سطح قوی‌ترین مدل‌های تجاری مثل Opus 5.5 و GPT-6 Astra کار می‌کنه و خیلی ارزون‌تره؛ توی رتبه‌بندی WebDev Arena هم به رتبه‌ی ۸ رسیده.

این مدل همراه نسخه‌ی سریع‌ترش (Highspeed، ۲ تا ۳ برابر سریع‌تر) از همین حالا روی سایت Kimi، ابزار Kimi Code و API در دسترسه و وزن‌هاش تا ۴ نوامبر منتشر می‌شه.

🔗 منبع رسمی: معرفی Kimi K3.1 Pro
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#خبر #هوش_مصنوعی #Claude

💬 پشتیبانی از Tasks و Elicitations در Claude اضافه شد

شرکت Anthropic پشتیبانی از دو قابلیت جدید MCP رو به Claude اضافه کرد. با Tasks، مدل Claude می‌تونه کارهای طولانی مثل تحقیق عمیق رو به پلاگین‌ها بسپره و وقتی تموم شد نتیجه رو گزارش بده. با Elicitations هم پلاگین‌ها می‌تونن وسط کار از کاربر چیزی بپرسن، مثلاً تأیید یک بازپرداخت یا پر کردن یک اطلاعات جاافتاده.

این دو قابلیت از امروز توی Claude Code CLI فعالن و به‌زودی به بقیه‌ی محصولات Claude هم می‌رسن.

🔗 منبع رسمی: اکانت ClaudeDevs در ایکس
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
#خبر #امنیت #برنامه_نویسی

🚨 آسیب‌پذیری خطرناک در کتابخونه Brotli؛ Node.js و Bun رو آپدیت کنید

شرکت OpenAI اعلام کرد ایجنت‌های امنیتی‌اش توی کتابخونه فشرده‌سازی Brotli یه آسیب‌پذیری اجرای کد از راه دور (RCE) پیدا کردن که بدون نیاز به ساخت حساب کاربری قابل سوءاستفاده‌ست. این کتابخونه داخل نرم‌افزارهای پرکاربردی مثل Node.js، Bun و Envoy هست.

مهاجم می‌تونه با فرستادن داده فشرده‌شده‌ی مخرب، روی سرور آپدیت‌نشده کد اجرا کنه؛ برعکسش هم ممکنه و کلاینتی که داده فشرده دریافت می‌کنه، با جواب یه سرور مخرب آلوده بشه.

شناسه این باگ CVE-2026-111497 هست و Brotli نسخه‌های اصلاح‌شده 1.2.1، 1.1.1 و 1.0.10 رو منتشر کرده. اگه با Node.js، Bun یا هر نرم‌افزاری که Brotli داخلشه کار می‌کنید، آپدیت امنیتی‌شون رو نصب کنید.

🔗 جزئیات و راه‌های مقابله رو اینجا بخونید
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2
#آموزش #پایتون
‌⚡️ می‌دونستین برای شمردن تکرارها توی پایتون یک ابزار آماده هست؟
‌
اسمش Counter هست و توی ماژول collections خود پایتونه، پس نصب لازم نداره. یک لیست بهش بدین تا تعداد تکرار هر عضو رو بشمره و پرتکرارترین‌ها رو هم بهتون بده:
‌
from collections import Counter

langs = ["python", "go", "python", "rust", "go", "python"]
counts = Counter(langs)
print(counts)
print(counts.most_common(2))

‌
خروجی:
‌
Counter({'python': 3, 'go': 2, 'rust': 1})
[('python', 3), ('go', 2)]

‌
متد most_common(2) دو عضو پرتکرار رو به‌ترتیب، همراه تعدادشون برمی‌گردونه. دیگه لازم نیست خودتون یک دیکشنری بسازید و توی حلقه یکی‌یکی بهش اضافه کنید.
‌
🔸 کلید ناموجود خطا نمی‌ده
توی دیکشنری معمولی، خوندن کلیدی که وجود نداره خطای KeyError می‌ده، ولی Counter برای چیزی که ندیده صفر برمی‌گردونه (ادامهٔ همون کد بالا):
‌
print(counts["java"])

‌
خروجی:
‌
0

‌
🔸 روی رشته هم کار می‌کنه
هر چیزی که بشه روش حلقه زد رو می‌شمره؛ مثلاً حروف یک کلمه:
‌
letters = Counter("banana")
print(letters)

‌
خروجی:
‌
Counter({'a': 3, 'n': 2, 'b': 1})

‌
🔸 پیدا کردن عضوهای تکراری
چون Counter در اصل یک دیکشنریه، متد items و بقیهٔ امکانات دیکشنری رو داره:
‌
dupes = [x for x, n in counts.items() if n > 1]
print(dupes)

‌
خروجی:
‌
['python', 'go']

‌
🔸 اضافه کردن داده‌های جدید
متد update شمارش‌های جدید رو با قبلی‌ها جمع می‌کنه، نه اینکه جاشون بنویسه:
‌
counts.update(["rust", "rust"])
print(counts["rust"])

‌
خروجی:
‌
3

‌
▫️ اگه به most_common عددی ندید، همهٔ عضوها رو از بیشترین به کمترین برمی‌گردونه.
▫️ اگه تعداد تکرار دو عضو برابر باشه، هر کدوم زودتر دیده شده باشه اول میاد.
▫️ چند کاربرد واقعی: شمردن کدهای وضعیت توی فایل لاگ، پیدا کردن پرتکرارترین کلمه‌های یک متن یا شمردن رأی‌های یک نظرسنجی.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👏1
هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار
#کوئیز #پایتون ‌ پیش‌نیاز: لیست، ایندکس منفی و list comprehension با شرط if ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. ‌ @codingyar
#پاسخ_کوییز #پایتون
‌
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
‌
✅ جواب درست: «60 3»
‌
توی list comprehension، بخش if مثل یک فیلتره: فقط عددهایی که n % 2 == 0 براشون درسته (یعنی ۲، ۴ و ۶) رد می‌شن و بقیه کلاً کنار گذاشته می‌شن. بعد هر عددی که رد شده، ضرب در ۱۰ می‌شه. پس evens می‌شه [20, 40, 60].
‌
ایندکس ‎-1 همیشه آخرین عضو لیست رو می‌ده، یعنی ۶۰. تابع len هم تعداد عضوها رو می‌شمره که ۳ تاست.
‌
اشتباه رایج: گزینهٔ «6 3» یعنی ضرب در ۱۰ رو فراموش کنیم. گزینهٔ «60 6» یعنی فکر کنیم if فقط روی مقدار اثر داره و طول لیست همون ۶ می‌مونه. گزینهٔ «50 3» هم از اینجا میاد که فکر کنیم عددهای فرد (۱، ۳، ۵) نگه داشته می‌شن.

‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
#آموزش #گیت
‌
⚡️ می‌دونستین کامیتی که با یک ریست اشتباه از تاریخچه پریده، هنوز توی گیت هست و برمی‌گرده؟
‌
گیت هر جابه‌جایی HEAD رو توی یک دفترچهٔ محلی به اسم reflog ثبت می‌کنه. فرض کنید با ریست کردن به یک کامیت عقب‌تر، کامیت «add login page» غیب شده. با این دو دستور پیداش می‌کنیم و برش می‌گردونیم:
‌
git reflog
git reset --hard HEAD@{1}

‌
خروجی:
‌
377ca14 HEAD@{0}: reset: moving to HEAD~1
73550dc HEAD@{1}: commit: add login page
377ca14 HEAD@{2}: commit (initial): initial commit
HEAD is now at 73550dc add login page

‌
عبارت HEAD@{1} یعنی «جایی که HEAD یک قدم قبل بود». همون‌طور که توی خط دوم خروجی می‌بینید، اون موقع روی کامیت گمشده بود؛ پس با ریست به همون نقطه، کامیت دوباره سر جاش برمی‌گرده.
‌

💎
راه امن‌تر: اول یک برنچ نجات بسازید
اگه مطمئن نیستید کدوم خط درسته، به‌جای ریست، اون نقطه رو توی یک برنچ جدا نگه دارید و با خیال راحت بررسیش کنید:
‌
git branch rescue HEAD@{1}
git log --oneline rescue

‌
خروجی:
‌
73550dc add login page
377ca14 initial commit

‌
‌
🔥 برنچی که پاک کردین هم برمی‌گرده
موقع پاک کردن برنچ، گیت هش آخرین کامیتش رو نشون می‌ده:
‌
git branch -D feature

‌
خروجی:
‌
Deleted branch feature (was 94be905).

‌
اگه این پیام رو از دست دادین، هش رو از خروجی reflog پیدا کنید (خط «commit: add feature») و برنچ رو با همون هش دوباره بسازید:
‌
git reflog -3
git branch feature 94be905

‌
خروجی:
‌
73550dc HEAD@{0}: checkout: moving from feature to main
94be905 HEAD@{1}: commit: add feature
73550dc HEAD@{2}: checkout: moving from main to feature

‌
‌
⚠️ ریست با گزینهٔ --hard تغییرات کامیت‌نشده رو پاک می‌کنه و reflog فقط کامیت‌ها رو نگه می‌داره، نه تغییراتی که هیچ‌وقت کامیت نشدن. پس قبلش با این دستور مطمئن بشید چیز کامیت‌نشده‌ای ندارید:
‌
git status

‌
▫️ دفترچهٔ reflog فقط روی سیستم خودتونه و با push جایی نمی‌ره؛ توی یک کلون تازه فقط یک خط «clone» داره.
▫️ ورودی‌ها همیشگی نیستن: با تنظیمات پیش‌فرض، ورودی‌هایی که به کامیت‌های بیرون از تاریخچهٔ برنچ فعلی اشاره دارن (مثل همین کامیت گمشده) بعد از ۳۰ روز و بقیه بعد از ۹۰ روز موقع پاک‌سازی خودکار گیت حذف می‌شن؛ پس نجات رو عقب نندازید.
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#خبر #هوش_مصنوعی #Canva

🎨 مدل تصویرساز Canva Craft معرفی شد

شرکت Canva اولین مدل تولید تصویر اختصاصی خودش رو با نام Canva Craft منتشر کرد. این مدل قبل از ساختن تصویر، اول چیدمان طرح رو برنامه‌ریزی می‌کنه و برای همین متن‌های داخل تصویر رو دقیق‌تر می‌نویسه و می‌شه بخشی از طرح رو بدون به‌هم‌ریختن بقیه‌اش ویرایش کرد. خروجی‌ها تا وضوح 2K و در بیش از ۳۰ نسبت تصویر ساخته می‌شن و توی رتبه‌بندی DesignArena هم به رتبه‌ی چهارم رسیده.

این مدل از همین حالا برای همه‌ی کاربران Canva از بخش Dream Lab و از طریق API در دسترسه و قراره به‌زودی از طریق MCP به ChatGPT و Gemini هم وصل بشه.

🔗 منبع رسمی: معرفی Canva Craft
‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2🔥1
هوش‌مصنوعی🔥برنامه‌نویسی | کدینگ‌یار
#کوئیز #پایتون ‌ پیش‌نیاز: دیکشنری (اضافه کردن و تغییر کلید) و حلقهٔ for روی دیکشنری ⏳ پاسخ کوییز ۲۴ ساعت دیگه توی همین کانال میاد. ‌ @codingyar
#پاسخ_کوییز #پایتون
‌
🔔 پاسخ کوییز بالا (همین کوییزی که بهش ریپلای زدم) رو در زیر ببینید ⬇️
‌
✅ جواب درست: «3 18»
‌
توی دیکشنری هر کلید فقط یک بار وجود داره. وقتی به کلیدی که از قبل هست مقدار می‌دیم، فقط مقدارش عوض می‌شه؛ پس tea از ۵ می‌شه ۶ و تعداد کلیدها همون ۲ می‌مونه. ولی cake کلید جدیده و با مقدار ۴ اضافه می‌شه. حالا دیکشنری ۳ تا کلید داره و len عدد ۳ رو می‌ده.
‌
حلقهٔ for روی دیکشنری، کلیدها رو یکی‌یکی می‌ده و با prices[item] به مقدار هر کدوم می‌رسیم. پس جمع می‌شه ۶ + ۸ + ۴ = ۱۸.
‌
اشتباه رایج: گزینهٔ «3 17» یعنی فکر کنیم مقدار قبلی tea (یعنی ۵) سر جاش می‌مونه. گزینهٔ «4 23» از اینجا میاد که فکر کنیم tea یک کلید تکراری دوم با مقدار ۶ می‌سازه (۵ + ۶ + ۸ + ۴). گزینهٔ «2 14» هم یعنی cake رو فراموش کنیم و فقط ۶ + ۸ رو حساب کنیم.

‌
آموزش هوش مصنوعی و برنامه نویسی 👇
@codingyar
وبسایت آموزشی:
www.codingyar.com
❤2👏1