در روزهای گذشته با برخی از پر تکرارترین دستورات در زبان برنامه نویسی پایتون آشنا شدیم. همان طور که پیش تر نیز اشاره شد کنار هم قرار دادن این دانسته ها در کنار دستور while و در نهایت بهره گیری از نکاتی که در جلسات بعدی به آنها پرداخته می شود می تواند مبحث مقدماتی آشنا با اصول کلی برنامه نویسی به زبان پایتون را تکمیل کند. در این بخش با مفهوم تکرار و استفاده از دستور while آشنا خواهیم شد.
همان طور که تا کنون آموختیم در پایتون می توان چندین بار یک دستور را به یک متغیر نسبت داد. برای مثال می توانید x را برابر با 5 در نظر بگیرید و پس از چند خط چیز دیگری را معادل x قرار دهید. این کار باعث می شود 5 به عنوان معادل x از حافظه پاک شده و مقدار جدید جایگزین آن شود. آنچه باید به یاد داشته باشید و تقریبا در همه زبان های برنامه نویسی هم وجود دارد آن است که a = b در برنامه نویسی به معنی معادل بودن این دو متغیر نیست؛ بلکه به این معناست که هر چه به b نسبت داده شده از ادامه کدها به a هم نسبت داده شود. تفاوت دیگری هم بین ریاضی و برنامه نویسی وجود دارد که قبلا به آن اشاره کردیم، به این صورت که در پایتون a = 7 از نظر ساختاری و منطقی صحیح است اما 7 = a اینطور نیست. یک نکته کلیدی تر در مثال ساده زیر مشخص است:
در اینجا در خط دوم b نیز هر آنچه به a نسبت داده شده است را در بر می گیرد اما بلافاصله در خط سوم مقدار a تغییر می کند و از آنجا که در ادامه توضیحی برای b و وضعیت آن داده نشده دیگر b = a نیست و همچنان عدد قبلی باقی می ماند.
بروزرسانی متغیرها
یکی از رایج ترین تکنیک ها در برنامه نویسی بروزرسانی یا Update متغیرهاست. برای مثال عبارت x=x+1 نوعی بروزرسانی است زیرا نشان می دهد هر مقداری که x در ابتدا بوده باید حالا یک واحد افزوده شده و x جدید معادل این مقدار قرار داده شود. توجه داشته باشید تنها زمانی می توانید یک متغیر را بروزرسانی کنید که قبلا آن را تعریف کرده و مقدار اولیه آن را مشخص کرده باشید.
دستور while
اجرای دستورات تکراری یکی از مهم ترین بخش های برنامه نویسی است. جلسه قبل تابعی به نام countdown را تعریف کرده و نشان دادیم چطور می توان به کمک دستورات if و else خروجی مورد نظر را دریافت کرد. به کمک دستور while می توان به شکل ساده تری همان برنامه را نوشت:
به این نوع استفاده از دستور while یک حلقه یا loop گفته می شود زیرا مجموعه ای از دستورات تکراری تا زمانی که شرط حلقه صحیح است اجرا می شوند و برنامه از آن خارج نمی شود. اگر بخواهید پیش از پایان همه دستورات یک حلقه و در موقعیتی مشخص از آن خارج شوید باید از دستوری به نام break استفاده کنید.
به عنوان تمرینی از آنچه تا کنون آموخته ایم می توانیم برنامه ای برای محاسبه ریشه یک عدد را کدنویسی کنیم.
روش مورد استفاده در این کد به روش نیوتون برای محاسبه ریشه یک عدد مشهور است. در اینجا عددی که قصد یافتن ریشه آن را داریم با a مشخص شده و از آنجا که همواره ریشه یک عدد کمتر از نصف آن است از همان ابتدا پارامتر x را معرفی می کنیم تا تعداد محاسبات مورد نیاز نصف شوند. سپس از فرمول ریاضی گفته شده استفاده کرده ایم و از برنامه خواسته ایم زمانی که x و y هر دو یک مقدار بودند حلقه را با دستور break پایان دهد. همان طور که مشاهده می کنید نتیجه برنامه به تدریج به عدد اصلی نزدیک تر شده و پس از رسیدن به مقدار نهایی متوقف شده است.
:-bd