جونیور وب دولوپر، عاشق مباحث لینوکس و کلود!
فاکتوریل در پایتون-کد های مخملی
سلام دوستان عزیز حالتون چطوره؟
امروز با بررسی سورس کد فاکتوریل اومدم...!
همونطوری که می دونید:
فاکتوریل هر عدد از ضرب آن عدد در اعداد طبیعی کوچک تر از خودش بدست میاد!
اصول کد امروزمون این هست که عدد رو دریافت و فاکتوریلش رو حساب می کنیم و علاوه بر این عدد ورودی رو یک بررسی ریز می کنیم.
یک سوال در پایان صفحه داریم. با ما همراه باش تا اگه جواب رو میدونی کامنت کنی :)
اول از همه دو تا متغیر factr ( همون مخفف فاکتوریل ) و result رو تعریف می کنیم و به اولی مقدار 0 ( همینطوری؛ مهم نیست چی باشه! ) و به دومی مقدار 1 رو می دهیم ( بعدا میگم چرا...)
راستی اگه می خوای اعداد اول هر محدوده و رنجی رو پیدا کنی به مقاله اعداد اول در پایتون مراجعه کن!
حالا از کاربر عددی رو که می خواهد فاکتوریلش رو نشونش بدیم در یافت می کنیم و اونو به تایپ int تبدیل می کنیم که بتونیم عملیات های ریاضی رو روش انجام بدیم.
دستوری رو که در بالا توضیح دادم رو در یک while میزاریم و شرطش رو True قرار می دهیم ( همیشه ادامه دارد مگر اینکه break بشه.) و درون این while یک if/else تعریف می کنیم...
که اگر مقدار ورودی کاربر بزرگتر و یا مساوی 1 بود break کنه و while رو تموم کنه و اگه غیر از این بود و مقدار کاربر عدد صفر و یا منفی بود اخطار بده و به کاربر بگه که باید عدد ورودی عددی طبیعی و بزرگتر از یک باشه( طبق تعریف فاکتوریل که اول گفتم.) پس طبیعیه که اگه عدد ورودی کاربر بزرگتر یا مساوی یک نباشه دوباره while رو تکرار کنه...!
وقت اون سوال که در ابتدا قولش رو به شما داده بودم رسیده (اگه جوابش رو میدونی کامنت کن) :
چگونه بررسی کنیم که مقدار ورودی کاربر عدد هست؟( چون اگه کاربر یک متن رو وارد کنه برنامه ارور میده!)
این مشکل رو در پستی دیگر توضیح می دهم. (پس فالوم کن که از دستش ندی...!)
بالاخره وقت محاسبه فاکتوریل رسیده که با for به اینصورت حساب می کنیم که به ازای هر عدد در رنج یک تا عدد انتخابی کاربر اون رو در متغیر result که در ابتدا مقدارش رو یک گذاشتیم ضرب کنه و جواب رو هم در همین متغیر بریزه.( کد رو ببینی بهتر متوجه میشی)
حالا یک نگاه کلی به کدها داشته باش تا یک مثال رو با هم بررسی کنیم...
ابتدا عدد ورودی کاربر رو 5 می گیریم(مثلا!)
factr = 5
حالا چک می کنیم که عدد ورودی بزرگتر یا مساوی یک باشه که هست پس while -> break میشه
سپس در for اولین عدد یعنی 1 وارد می شود که 1 ضربدر 1 میشه همون یک پس از این مقدار 2 وارد for میشه که در 1 ضرب بشه میشه 2 و همینطور تا 5 ادامه پیدا میکنه و سپس result رو چاپ می کنیم
result = 1 * 2 * 3 * 4 * 5
تموم شد(خسته نباشید...)
چطور بود راضی بودی؟
راستی یادت نره جواب سوال که در بالا پرسیدم رو بدی...
در پایان هم بگم که اگه خواستی پیجم رو فالو کن چون داخلش نمونه کد آپلود می کنم.0مثلا بازی سنگ کاغد قیچی...!)
تا مقاله بعدی فعلا...
مطلبی دیگر از این انتشارات
آمادگی برای مصاحبه های مهندسی نرم افزار به سبک شرکت های بزرگ دنیا
مطلبی دیگر از این انتشارات
باکس گل برای گوشی موبایل
مطلبی دیگر از این انتشارات
آموزش جاوا-آموزش Data Type و دستورات If و Else در Java