حلقه for در پایتون (بخش ۲)
به دوره آموزش پایتون خوش آمدید. برای رفتن به اولین جلسه این دوره، اینجا کلیک کنید. جلسه قبل درمورد بخش اول حلقه for صحبت کردیم. در این جلسه برای یادگیری بهتر حلقه for در پایتون میخواهیم دو برنامه ی “مجموع اعداد یک تا n” و “فاکتوریل” را بنویسیم.
مجموع اعداد یک تا n
میخواهیم برنامه ای بنویسیم که یک عدد را از کاربر گرفته و مجموع اعداد یک تا آن عدد را چاپ کند. پس قدم اول این است که ورودی را از کاربر گرفته و آن را تبدیل به int کنیم:
n = int(input("Enter a number: "))
حال قبل از اینکه حلقه را بسازیم نیاز داریم تا یک متغیر را بعنوان انباشتگر تعریف کنیم. اصطلاح انباشتگر برای یک متغیر به کار میرود که ابتدا خالی میباشد اما به مرور زمان پر میشود و نتیجه ای را در خود نگهداری میکند. در اینجا مقدار اولیه انباشتگر صفر است و قرار است هربار اعداد بین یک تا عدد n به انباشتگر اضافه شوند.
پس:
sum = 0
حالا باید یک حلقه بنویسیم که از یک تا عدد n را پیمایش کند. برای این کار از تابع range استفاده میکنیم:
for i in range(1, n+1):
این حلقه از عدد یک شروع کرده و تا یکی قبل از n+1 حرکت میکند (یعنی تا n).
در بدنه حلقه کافیست مقدار i را با مقدار sum جمع زده و نتیجه را درون sum بریزیم:
sum += i
و در نهایت، بیرون از حلقه مقدار sum را چاپ کنیم. شکل نهایی برنامه به این صورت شد:
n = int(input("Enter a number: ")) sum = 0 for i in range(1, n+1): sum += i print(sum)
فاکتوریل
فاکتوریل یک عدد یعنی حاصل ضرب اعداد ۱ تا آن عدد. بسیار شبیه به برنامه قبل است با این تفاوت که مقادیر باید با هم ضرب شوند نه جمع.
نکته دیگری که دارد این است که مقدار اولیه انباشتگر باید یک باشد. چرا؟ چون مقادیر باید باهم ضرب میشوند و عدد یک تاثیری در ضرب ندارد اما صفر، کل نتیجه را صفر میکند.
برنامه به حالت زیر در میاید:
n = int(input("Enter a number: ")) res = 1 for i in range(1, n+1): res *= i print(res)
در جلسه بعد درمورد حلقه while صحبت خواهیم کرد.