<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های سید امیر محمد نجفی</title>
        <link>https://virgool.io/feed/@njfamirm</link>
        <description>جونیور وب دولوپر، عاشق مباحث لینوکس و کلود!</description>
        <language>fa</language>
        <pubDate>2026-06-16 09:32:23</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/267337/avatar/PMHgPS.jpg?height=120&amp;width=120</url>
            <title>سید امیر محمد نجفی</title>
            <link>https://virgool.io/@njfamirm</link>
        </image>

                    <item>
                <title>من رفتم به وبلاگم!</title>
                <link>https://virgool.io/@njfamirm/%D9%85%D9%86-%D8%B1%D9%81%D8%AA%D9%85-%D8%A8%D9%87-%D9%88%D8%A8%D9%84%D8%A7%DA%AF%D9%85-debrwnjp8nsv</link>
                <description>سلام عرض ادب!اوایل شروع برنامه‌نویسیم اینجا می‌نوشتم خیلی کم. حس خوبیه وقتی الان می‌بینم هنوز بازدید میخوره! کلا نوشتن حس خیلی خوبی میده بهم.یک مدتی رفتم توی مدیوم و dev.to با اینکه بنظر جذاب میومد و بازدید بیشتری داشت، ولی به علت محدودیت‌های apiشون تصمیم گرفتم توی وبلاگ خودم بنویسم.خدمت شما: وبلاگماحتمالا آخرین پست ویرگولم!</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Mon, 23 Oct 2023 16:06:47 +0330</pubDate>
            </item>
                    <item>
                <title>شروع آزمایش حدس گلدباخ!</title>
                <link>https://virgool.io/coderlife/%D8%B4%D8%B1%D9%88%D8%B9-%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4-%D8%AD%D8%AF%D8%B3-%DA%AF%D9%84%D8%AF%D8%A8%D8%A7%D8%AE-n6n8qaw5xxyk</link>
                <description>سلام، خوبی؟!قبل از هر چیزی بگم که اگه مقاله آزمایش حدس گلدباخ با پایتون 1 رو نخوندی! همین الان بخون ( 1 دقیقه وقت میگیره ) چون بخش اول آموزشه...حدس گلدباخ با پایتونهمون طور که قرار بود تو این مقاله شروع به کدنویسی با پایتون می کنیم و لذت می بریم...!خُب...اصول کدمون اینکه ابتدا اعداد اول رو در میاریم و بعدش با هم جمع می کنیم و در آخر هم چک می کنیم که آیا حدس گلدباخ عزیز درسته یا نه؟!فرآیند بالا رو ما توی رنج هایی 100 تایی اجرا می کنیم. ( مثلا یکبار 1 تا 100 و بار دیگر 101 تا 200 )   **---یادتون باشه چون لازمش داریم----**نکته : در این آموزش از class استفاده می کنیم...نترس...!اگر چه میدونم خیلی از شما عزیزان حرفه ای هستید و خلاصه این کدها براتون خیلی ساده است ولی شخصی مثل خودم شاید اول اینکه کد زیر رو میبینه بترسه ولی خیالتون راحت ساده تر از این حرفاس...!بازم مانند آموزش های قبلی میگم یک نگاه کلی به کد داشته باش تا در حین آموزش بهتر پیش بریم.نمونه کد پایتون1- متغیر های local یا محلی:class در پایتونچندتا متغیر local یا محلی با تایپ set برای کلاسمون تعریف می کنیم ...دلیل محلی تعریف کردن اونها رو هم در فانکشن آخر توضیح میدم...setOfPrime: برای اعداد اول  |   setOfNonPrime: برای اعداد غیر اول   |  check: برای جمع اعداد اول  متغیر بعدی هم که num هست که فعلا نقطه شروع چک کردن هست ( اولین عدد بزرگتر از 2 زوج ). فعلا در همین حد تو ذهنتون باشه تا توضیح بدم.2- پیدا کردن اعداد اولrange در پایتونخُب ؛ همونطور که گفتم قراره ما این حدس رو توی رنج هایی 100 بسنجیم.پس مثلا وقتی اعداد اول 1 تا 100 رو بدست میاریم در نوبت بعدی نباید اعداد اول 1 تا 200 را به دست بیاریم بلکه باید اعداد اول 101 تا 200 را به همان قبلی ها اضافه کنیم...!یکی از دلایل محلی تعریف کردن set ها هم همین بود!پس حالا در فانکشن اولمون یک set از رنج مورد نظرمون درست می کنیم که بعدا اعداد غیر اول رو از توش دربیاریم و در نتیجه فقط اعداد اول در اون بمونه!از اونجایی که میدونیم عدد 1 اول نیست اون رو از توی لیست با یک if جدا می کنیم که اگه minRange مون یک بود اون رو 2 بزاره!توی مقاله اعداد اول در پایتون روش پیدا کردن اعداد رو یاد دادم حتما یک نگاه بنداز...!پس نتیجتا با فانکشن بالا تونستیم اعداد رنج مورد نظر رو به داخل ست محلیمون اضافه کنیم ( که اعداد غیر اول رو از درونش جدا کنیم. )پیدا کردن اعداد اول در پایتونحالا با دستور for تو در تو اعضای اون ستی که در فانکشن قبلی درست کردیم رو چک می کنیم که آیا بر اعداد کوچکتر از خودش بخش پذیره یا نه!اگه بود اون رو به ست setOfNonPrime اضافه می کنیم. پس از اون هم تمامی اعضای این ست رو از ستی که در فانکشن قبل درست کردیم پاکمش کنیم -&gt; وقتی تمامی اعداد غیر اول رو حذف می کنیم چی میمونه؛ آفرین اعداد اول!اون min و max هم برای اینکه وقتی مثلا اعداد اول 1 تا 100 رو بدست آوردیم در دور بعدی کار اضافه انجام ندیم و 101 تا 200 رو بدست بیاریم و به قبلی ها اضافه کنیم. ( برای بهتر شدن سرعت و هوشمندی کد )3- جمع اعداد اولحدس گلدباخحالا باز هم با for تو در تو تمامی اعداد اول رو با هم جمع می کنیم و اگه اون زوج بود به ست check اضافه ی کنیم. ( گلدباخ توی حدس گفته که اعداد زوج از جمع دو عدد اول بدست اومدن )پیشنهاد میکنم یکبار دیگه 3 مرحله بالا رو مرور کن تا حسابی اوکی بشی ( بقیش ساده است. )4- بررسی حدس گلدباخ!حالا می رسیم به بخش مهم و البته ساده...یادتونه یک متغیر محلی تعریف کردیم و مقدارش رو 4 گذاشتیم؟ الان به کارمون میاد!با یک حلقه بینهایت و دستور if/else چک می کنیم که آیا num در ست جمع اعداد اول هست یا نه؟اگه بود که دو تا به num اضافه می کنیم و دوباره چک می کنیم و این فرآیند تا موقعی ادامه داره که num در ست ما باشه و وقتی نباشه وارد else میشه و break می کنیم و num  رو چاپ می کنیم...به مثال توجه کن تا متوجه شی...فک کن ما اعداد اول رو جمع کردیم و ست مقابل رو داریم -&gt; {4,6,8} حالا وارد if می شیم  -&gt; num=4 پس اون در ست هست -&gt; دو تا بهش اضافه می کنیم.مرحله بعد -&gt; num=6 پس اون در ست هست -&gt; دو تا بهش اضافه می کنیم.مرحله بعد -&gt; num=8 پس اون در ست هست -&gt; دو تا بهش اضافه می کنیم.مرحله بعد -&gt; num=10 این دفعه num در ست نیست و ما حلقه رو break می کنیم پس ببینید حدس گلدباخ تا عدد 8 درست بود؛ درسته؟!5- مرحله آخرآزمایش حدس گلدباختوجه کنید که فانکشن بالا خارج از class هست!توی این فانکشن یک نمونه ( کپسوله میگن نه؟؟ ) از class میسازیم...حالا توی یک حلقه بینهایت فانکشن های بالا رو فراخوانی می کنیم و نکته مهم اینکه مقدار max و min رو هم میدیم که در ابتدا 1 تا 100 است...از yield هم استفاده می کنیم که روی سیستم فشار نیاد! ( خروجی تابع چک کننده رو میدیم بهش که اگه یادتون باشه num بود! )در آخر هم به num1 , num 2 صدتا اضافه می کنیم...که مثلا در بار اول از 1 تا 100 آزمایش می شود و در نوبت بعدی 101 تا 200 و...و چون ما نمونه رو خارج حلقه ساختیم یکبار ساخته میشه و در نتیجه متغیر های محلیمون حذف نمی شن!!بخشی از خروجی...خروجییاد گرفتی؟اول ازت تشکر کنم که تا اینجا اومدی...و اینکه من سعی خودمو کردم کد سریع و بهینه باشه و به هر حال ممکنه بهتر از این هم باشه که ممنون میشم در کامنت مطرح کنی!نکته دیگر هم من تمام تلاشم رو کردم که واضح توضیح بدم ولی اگه هنوز سوال داری در کامنت بگو حتما توضیح میدهم...و نکته آخر و مهم!!! کد رو حتما خودت بنویس تا کار دستت بیاد...!راستی کد رو که ران کردی رکوردی که چاپ کرد رو پرینت کردی رو کامنت کن...!ببینیم کی بیشتره! من خودم تا فکر کنم 000 13&#x27;&#x27;&#x27; خودمونی &#x27;&#x27;&#x27; اگه حوصله داری بخونش!راستش من این کد رو از خیلی وقت پیش میخواستم بنویسم که بالاخره وقتی با class آشنا شدم شروع کردم. که در ابتدا بجای ست از لیست استفاده کردم که باز باید موارد تکراری رو حذف می کردم و حتی فانکشن آخری رو هم نداشت که مثلا یکبار 1 تا 100 بار دیگه 1 تا 200 و... خلاصه به طرز فجیهی داغون بود ( مثلا تو 10 دقیقه تا 600 می رسید!!! ) سوتی بدتر هم این بود من فکر می کردم حدس گلدباخ برای کل اعداد هست ولی بعدش فهمیدم برای اعداد زوج است که مجبور شدم کلی تغییر بدم!!بالاخره با تغییر کلی کدم به نتیجه رسیدم *-*عرض دیگه ای نیست...یا علی...</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Thu, 19 Nov 2020 23:51:29 +0330</pubDate>
            </item>
                    <item>
                <title>آزمایش حدس گلدباخ با پایتون 1</title>
                <link>https://virgool.io/coderlife/%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4-%D8%AD%D8%AF%D8%B3-%DA%AF%D9%84%D8%AF%D8%A8%D8%A7%D8%AE-%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-1-jwnwhjcgcubv</link>
                <description>سلام دوستان، خوبین؟قراره تو این آموزش و آموزش بعدی با هم حدس گلادباخ رو چک کنیم...!گفتم شاید بهتر باشه قبل از شروع کدنویسی با پایتون یک توضیح مختصر و مفید درباره این حدس بدم...همین اول بگم که ممکنه بین آموزش به جای گلدباخ بگم گِلادباخ ??‍♂️ خودتون ببخشید دیگه...!پروژه پایتونحدس گلدباخ چیه؟جناب گلدباخ گفته که همه ی اعداد زوج بزرگتر از 2 از جمع دو تا عدد اول بدست اومدن...!مثلا: 3 + 3 = 6 یا مثلا 47 + 53 = 100 و یا 61 + 7 = 68البته میشه یک عدد اول رو با خودش جمع کرد؛ مثل دو تا 3اگه میخواهید بیشتر مطالعه کنید به ویکی پدیا انگلیسی و یا ویکی پدیا فارسی مراجعه کنید.حدس گلدباخ این شکل بالا هم که میبینید همین رو میگه...!همونطور که گفتم این حدس هنوز اثبات نشده ولی توی سال 2008 تا عدد 17^10 × 18 این حدس رو آزمایش کردن و درست هم بوده ( حتما به کمک برنامه نویسان ?? ) هدف ما هم تو آموزش آینده اینکه تا جایی که میتونیم حدس گلدباخ رو امتحان کنیم ( من خودم این کد رو برای جمع بندی class در پایتون نوشتم و حداقل برای خودم مفید بود...! )خًب!تا اینجا به احتمال زیاد با این حدس آشنا شدین( در همین حد بسه...! )فقط بگم که همونطور که واضحه باید اعداد اول رو بدست بیاریم که من توی مقاله اعداد اول در پایتون -کد های مخملی- توضیحش دادم...! ( آپدیتش کردم )درباره کدهای مخملی هم بگم که قرار بود همه ی عکس کدها رو با افکت مخملی بزارم که مثلا قشنگ تر باشه   (??) ولی چون الان لینوکس دارم و فتوشاپ هم روش نصب نمیشه ( نمی دونم چرا!! ) فعلا این قضیه کنسله :( فقط سعی کن خودت کدش رو بزنی یا حداقل الگوریتمش رو بنویسی...! ( اگه تا حالا کد رو نوشتی توی کامنت ها مطرح کن! )همین دیگه حرف دیگه ای نیست فقط منتظر پست بعدی و شروع آموزش باش...! ( بالاخره نوشتمش ببین حتما... )یا علی...</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Tue, 17 Nov 2020 11:44:51 +0330</pubDate>
            </item>
                    <item>
                <title>ساخت لینک کوتاه و کسب درآمد از آن-کدهای مخملی</title>
                <link>https://virgool.io/fboard/%D8%B3%D8%A7%D8%AE%D8%AA-%D9%84%DB%8C%D9%86%DA%A9-%DA%A9%D9%88%D8%AA%D8%A7%D9%87-%D9%88-%DA%A9%D8%B3%D8%A8-%D8%AF%D8%B1%D8%A2%D9%85%D8%AF-%D8%A7%D8%B2-%D8%A2%D9%86-%DA%A9%D8%AF%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%85%D9%84%DB%8C-fb6v7yzqweup</link>
                <description>ساخت لینک کوتاه با API در پایتون و کسب درآمد از آن!سلام , وقتتون بخیر...دوباره اومدم و طبق قولی که داده بودم قراره در این مقاله توسط API و زبان شیرین پایتون لینک های کوتاه بسازیم و حتی از اون کسب درآمد کنیم! همراهم بیا تا کمتر از 10 خط کد بزنی و کسب درآمد کنی...!ساخت لینک کوتاهروش کار کد های امروزمون هم مانند پروژه های قبلی بسیار ساده است!اگه کنجکاو شدین پروژه های قبلیمون چی بوده سری به پروفایلم بزنین (یکی از اونا پیامک آمار کرونا به شماره های مورد نظر بود!)کتابخانه requestsاگه با  API ها در پایتون کار کرده باشین حتما نام کتابخانه ی requests به گوشتون خورده پس ما باید import ش :) کنیم .متغیر url رو تعریف می کنیم و url ای که کاربر می خواهد کوچک شود رو از کاربر میگیریم و داخلش میریزیم.حالا لینک API رو داخل requests.get می ریزیم تا مقادیر داخل API رو برگردونه (طبیعتا یک جیسون هست)حواستون باشه از روش f-string استفاده کنین تا بتونید url (که از کاربر گرفتیم) رو هم به API اضافه کنید!میتونید با تعریف یک متغیر و input لینک (url) رو جداگانه از کاربر بگیرین...برای دریافت API و توکن پس از اینکه داخل سایت رفتین، ثبت نام کنید و API و توکن رو از قسمت پنل کاربری دریافت کنید.نکته مهم:اگه می خواهید از این لینک ها درآمد نداشته باشین، آخر لینک API عبارت زیر رو اضافه کنید( توضیحات کسب درآمد از این لینک ها رو در پایان این مقاله توضیح میدهم تا از بحث خارج نشیم...)&amp;type=0کسب درآمد از لینک کوتاهحالا با دستور ()json. مقادیر متغیر result رو تبدیل به یک دیکشنری می کنیم (قبل از این کار، خروجی result یک ریسپانس بود که خیلی به دردمون نمی خورد)اگه الان یک خروجی از result بگیریم دیکشنری مانند نمونه زیر رو بر می گردونه ...{&amp;quotstatus&amp;quot:&amp;quotsuccess&amp;quot,&amp;quotshortenedUrl&amp;quot:&amp;quothttps:\/\/1da.ir\/tvXw&amp;quot}پس از این، کلید shortenedUrl رو انتخاب می کنیم و دوباره درون متغیر result میریزیم.( داخل شکل بالا هست.)حالا اگه result رو چاپ کنید نتیجه زیر رو بر میگردونه...!https://1da.ir/tvXw به همین سرعت تونستید لینک بلند خودتون رو کوتاه کنید و حتی می تونید از اون کسب درآمد کنید!چجوری کسب درآمد کنیم؟اول از همه نگاهی به این لینک بندازین تا ادامشو توضیح بدم.خوب...سایتی که ازش API گرفتیم یک طرح تشویقی داره که به ازای هر کلیک مبلغی رو به پنل کاربریتون اضافه می کنه ( ناچیزه ولی با توجه به تعداد کلیک شاید زیاد بشه! ) شاید بپرسین که چرا اون سایت باید همچنین کاری رو انجام بده ؟ خوب واضحه که خود سایت هم از این لینک ها به واسطه همون تبلیغات هایی که دیدین، درآمد داره و علاوه بر این شما در اون سایت مدت زمانی رو حضور داشتین و کلیک هم کردین که این باعث بهبود وضعیت سئوی اون سایت میشه !البته اگه بخواهید مشتری خودتون رو نگه دارین نباید این تبلیغات ها رو ببینه ( چون شاید منصرف بشه و ادامه نده! ) پس به نظر من لینک های دانلود و اینجور جاها رو همراه با تبلیغات قرار بدین و بقیه رو لینک بدون تبلیغات ( چون کاربر کل مسیر رو رفته و دانلود اون فایل هم نیازشه پس صبر می کنه. ) اگه یادتون باشه گفتم که اگه می خواهید این تبلیغات ها به کاربر نمایش داده نشه در آخر لینک API عبارت &amp;type=0 رو اضافه کنید.چطور بود راضی بودین، چیزی براتون نا مفهموم نبود؟ تو کامنت ها منتظرتونمتا دیداری بعد بدرود :)راستی ممنون از حمایت های خوبتون در مقاله های قبلی ( خیلی انرژی بخشه! )</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Tue, 06 Oct 2020 13:38:51 +0330</pubDate>
            </item>
                    <item>
                <title>آمار کرونا رو به گوشیت پیامک کن! - کد های مخملی</title>
                <link>https://virgool.io/coderlife/%D8%A2%D9%85%D8%A7%D8%B1-%DA%A9%D8%B1%D9%88%D9%86%D8%A7-%D8%B1%D9%88-%D8%A8%D9%87-%DA%AF%D9%88%D8%B4%DB%8C%D8%AA-%D9%BE%DB%8C%D8%A7%D9%85%DA%A9-%DA%A9%D9%86-%DA%A9%D8%AF-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%85%D9%84%DB%8C-tp35v3amf0b5</link>
                <description>سلام دوستان عزیزامیدوارم حالتون خوب باشــــــــه!بدست آوردن آمار کرونا با پایتون!بدست آوردن آمار کرونا با پایتونامروز می خواهیم  با استفاده از API آمار کرونا در جهان رو بدست بیاریم و اون رو به شماره مورد نظرمون پیامک کنیم!خوب بریم سر اصل مطلب!کتابخانه requests-ghasedakتوی این پروژه به دو کتابخانه requests ( برای دریافت آمار از API ) و ghasedak ( برای پیامک آمار ) نیاز داریم ، پس طبیعیه که باید اون ها رو import کنیم.اگر این کتابخانه ها رو نصب نکردین دستورات زیر رو در command prompt وارد کنین تا فرآیند نصب به صورت خودکار انجام بشه...pip install requestspip install ghasedakبدست آوردن آمار کرونا وقت استفاده از API رسیده...اگه نگاهی به  این لینک بندازین یکسری مقادیر( آمار تلفات و ... کرونا ) رو میبینین که شکل آن مانند json و یا تایپ دیکشنری در پایتونه!حالا لینک  API رو داخل متود requests.get میریزیم. ( این متود برای کتابخونه requests که در ابتدا import کردیم هست و کارش اینکه مقادیر لینک داده شده رو برمی گردونه!)اگر result رو print کنیم &lt;[Response [200&gt; رو بر میگردونه که ما این رو لازم نداریم!پس باید به چاره ای دیگر بیندیشم :)اگه دوست داری اعداد اول رو در  پایتون بدست بیاری سری به مقاله اعداد اول در پایتون بزن ! بتلفات کرونا و اس ام اس آنچاره کار اینکه با فانکشن json مقادیر result رو به json تبدیل کنیم که شکلش میشه شبیه همون دیکشنری خودمون ( توضیحات بیشتر رو می تونید با یک سرچ کوچک بدست بیارین)حالا اگه متغیر dic رو پرینت کنیم مقادیر زیر رو نشون میده: {&amp;quotcases&amp;quot:35427288,&amp;quotdeaths&amp;quot:1042214,&amp;quotrecovered&amp;quot:26640418}خوب این کاملا شبیه دیکشنری هست و می تونیم با دادن کلید deaths آمار تلفات رو از داخلش استخراج کنیم. (به شکل بالا نگاه کنید!)حالا ما تونستیم آمار تلفات کرونا رو با استفاده از API بدست بیاریم ( به همین راحتی )پیشنهاد می کنم کدهایی رو که فعلا نوشتیم رو خودتون بنویسین تا بعدش ادامه بدیم ( اینجوری هوشمندانه تره!)کتابخانه قاصدککم کم به پایان کدهامون نزدیک میشیم و باید آمار رو با استفاده از سایت قاصدک پیامک کنیم!اگه بخوام خیلی سریع وب سرویس پیام کوتاه قاصدک رو توضیح بدم باید بگم که یک API میده و می تونید باهاش پیامک ارسال کنید(بهتره به سایتشون نگاهی بیندازید)اگه در سایت قاصدک ثبت نام کنید ( 1000 تومان شارژ رایگان برای ارسال پیامک) در پنل کاربریتون می تونید یک API بگیرین.پس از اون باید به متود ghasedak.Ghasedak لینک API خودتون رو بدین. اس ام اس آمار کرونا ویروسدر پایان هم متن آمار کرونا رو در message وارد می کنیم ، البته به روش f-string و داخل اون متغیر dic ( آمار کرونا که در بالا بدس آوردیم) رو هم قرار می دهیم (به شکل نگاه کنید متوجه می شوید.)در ضمن شماره مورد نظرتون که میخواهید به اون آمار ارسال بشه رو در قسمت recepctor وارد کنید ( در اشتراک رایگان قاصدک فقط شماره ای که با اون ثبت نام کردید میشه ) و همچنین قسمت linenumber رو که خود سایت میده هم وارد کنید!حالا کافیه کدتون رو ران کنید تا آمار کرونا براتون ارسال بشه ( حواستون باشه به اینترنت وصل باشین ) اگه میخواهی با 10 خط کد لینک کوتاه بسازی و از اون کسب درآمد داشته باشی به این مقاله سر بزن!اگه مشکلی توی کدت پیش اومد تو کامنت مطرح کن!ممنون میشم نظرت رو درباره این پست نویسی و پست رو با دوستانت به اشتراک بزاری !در پناه حق...</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Mon, 05 Oct 2020 13:23:09 +0330</pubDate>
            </item>
                    <item>
                <title>فاکتوریل در پایتون-کد های مخملی</title>
                <link>https://virgool.io/coderlife/%D9%81%D8%A7%DA%A9%D8%AA%D9%88%D8%B1%DB%8C%D9%84-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DA%A9%D8%AF-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%85%D9%84%DB%8C-y4qr5vfejgnr</link>
                <description>سلام دوستان عزیز حالتون چطوره؟امروز با بررسی سورس کد فاکتوریل اومدم...!بررسی سورس کد فاکتوریل در پایتونهمونطوری که می دونید:فاکتوریل هر عدد از ضرب آن عدد در اعداد طبیعی کوچک تر از خودش بدست میاد!اصول کد امروزمون این هست که عدد رو دریافت و فاکتوریلش رو حساب می کنیم و علاوه بر این عدد ورودی رو یک بررسی ریز می کنیم.یک سوال در پایان صفحه داریم. با ما همراه باش تا اگه جواب رو میدونی کامنت کنی :)تعریف متغیر اول از همه دو تا متغیر factr ( همون مخفف فاکتوریل ) و result رو تعریف می کنیم و به اولی مقدار 0 ( همینطوری؛ مهم نیست چی باشه! ) و به دومی مقدار 1 رو می دهیم ( بعدا میگم چرا...)راستی اگه می خوای اعداد اول هر محدوده و رنجی رو پیدا کنی به مقاله اعداد اول در پایتون مراجعه کن!دریافت و بررسی مقدارحالا از کاربر عددی رو که می خواهد فاکتوریلش رو نشونش بدیم در یافت می کنیم و اونو به تایپ int  تبدیل می کنیم که بتونیم عملیات های ریاضی رو روش انجام بدیم.دستوری رو که در بالا توضیح دادم رو در یک while میزاریم و شرطش رو True قرار می دهیم ( همیشه ادامه دارد مگر اینکه break بشه.) و درون این while یک if/else تعریف می کنیم... که اگر مقدار ورودی کاربر بزرگتر و یا مساوی 1 بود break کنه و while رو تموم کنه و اگه غیر از این بود و مقدار کاربر عدد صفر و یا منفی بود اخطار بده و به کاربر بگه که باید عدد ورودی عددی طبیعی و بزرگتر از یک باشه( طبق تعریف فاکتوریل که اول گفتم.) پس طبیعیه که اگه عدد ورودی کاربر بزرگتر یا مساوی یک نباشه دوباره while رو تکرار کنه...! وقت اون سوال که در ابتدا قولش رو به شما داده بودم رسیده (اگه جوابش رو میدونی کامنت کن) :چگونه بررسی کنیم که مقدار ورودی کاربر عدد هست؟( چون اگه کاربر یک متن رو وارد کنه برنامه ارور میده!) این مشکل رو در پستی دیگر توضیح می دهم. (پس فالوم کن که از دستش ندی...!)محاسبه فاکتوریلبالاخره وقت محاسبه فاکتوریل رسیده که با for به اینصورت حساب می کنیم که به ازای هر عدد در رنج یک تا عدد انتخابی کاربر اون رو در متغیر result که در ابتدا مقدارش رو یک گذاشتیم ضرب کنه و جواب رو هم در همین متغیر بریزه.( کد رو ببینی بهتر متوجه میشی)حالا یک نگاه کلی به کدها داشته باش تا یک مثال رو با هم بررسی کنیم...سورس کد فاکتویل در پایتونابتدا عدد ورودی کاربر رو 5 می گیریم(مثلا!)factr = 5حالا چک می کنیم که عدد ورودی بزرگتر یا مساوی یک باشه که هست پس while -&gt; break میشه سپس در for اولین عدد یعنی 1 وارد می شود که 1 ضربدر 1 میشه همون یک پس از این مقدار 2 وارد for میشه که در 1 ضرب بشه میشه 2 و همینطور تا 5 ادامه پیدا میکنه و سپس result رو چاپ می کنیمresult = 1 * 2 * 3 * 4 * 5تموم شد(خسته نباشید...)چطور بود راضی بودی؟راستی یادت نره جواب سوال که در بالا پرسیدم رو بدی...در پایان هم بگم که اگه خواستی پیجم رو فالو کن چون داخلش نمونه کد آپلود می کنم.0مثلا بازی سنگ کاغد قیچی...!)تا مقاله بعدی فعلا...</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Tue, 29 Sep 2020 18:51:15 +0330</pubDate>
            </item>
                    <item>
                <title>اعداد اول در پایتون</title>
                <link>https://virgool.io/@njfamirm/%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A7%D9%88%D9%84-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DA%A9%D8%AF-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%85%D9%84%DB%8C-shyqgt4i8xsp</link>
                <description>رمز پیروزی در برنامه نویسی هوشمندانه بودنه!سلام برنامه نویسِ هوشمند!امروز قراره سورس کد شناسایی اعداد اول در پایتون رو با هم بررسی و تحلیل کنیم و در نتیجه بتونیم در آینده در پروژه هامون استفاده کنیم البته با طعم کدهای مخملی!توی پرانتز بگم که من به طور کامل مقاله رو عوض کردم و سعی کردم روش آسان تری رو آموزش بدم...!یادآوری دبستان!اعداد اول اعدادی هستند که فقط بر 1 و خودشون بخش پذیرن!وقتشه بریم سر اصل مطلب...سعی کن با نگاه به کد زیر اصول رو بفهمی تا بهتر متوجه بشی...!اعداد اول در پایتونهمونطور که گفتم مقاله رو آپدیت کردم چون در روش قبلی از تایپ list استفاده کردم که نیاز بود اعداد تکراری رو پاک کنیم که خودش خیلی زمان بر بود ولی حالا از تایپ set استفاده می کنم که همانطور که می دونید این تایپ در پایتون اعداد تکراری رو به صورت اتومات حذف میکنه که کار ما رو خیلی سریع تر میکنه...!روش کار ما در این فانکشن اینجوریه که ما یک range از کاربر میگیریم و سپس تمامی اعداد غیر اول اون لیست رو جدا میکنیم و در نتیجه اعداد اول می مونن!خب، اول از همه یک set به نام setOfPrime  درست می کنیم و range داده شده کاربر رو داخل اون می ریزیم ( که بعدا اعداد غیر اول رو از توش پاک کنیم و در نتیجه اش اعداد اول بمونه )حالا با دستور for و if به ازای هر عدد در ست مون چک میکنیم که آیا به اعداد قبلی خودش بخش پذیره یا نه که اگه باشه اون رو داخل ست setOfNonPrime میریزیم...در آخرین مرحله هم تمامی ست setOfNonPrime را از درون ست setOfPrime پاک می کنیم!  همین!کد های مخملیروش بهتری سراغ داری؟پیشنهادی، انتقادی هست؟تو قسمت نظرات مطرح کن لطفامقاله بعدیمون آزمایش حدس گلدباخ هست که کد های بالا در اون کاربرد داده....لینکش رو میخوای؟ منتظر باشفعلا خداحافظـ</description>
                <category>سید امیر محمد نجفی</category>
                <author>سید امیر محمد نجفی</author>
                <pubDate>Mon, 28 Sep 2020 00:19:22 +0330</pubDate>
            </item>
            </channel>
</rss>