خداحافظ اسکرچ، سلام پایتون! آموزش برنامه‌نویسی در رزبری پای

قسمت 6
مشاهده سایر جلسات آموزش
36 بازدید
۱۴۰۴-۱۰-۱۶
10 دقیقه
  • نویسنده: بهاره بهرامی
  • درباره نویسنده: ---

ابزار برنامه‌نویسی پایتون توسط Guido van Rossum ساخته شده و نام آن از گروه کمدی مونتی پایتون الهام‌گرفته شده است. پایتون در ابتدا یک پروژه‌ تفریحی بود که در سال 1991 منتشر شد و از آن زمان تا به امروز به یکی از محبوب‌ترین زبان‌های برنامه‌نویسی تبدیل شده است. پایتون در مقایسه با اسکرچ که یک محیط برنامه‌نویسی بصری است، یک زبان برنامه‌نویسی مبتنی بر متن است: برنامه‌نویسان می‌توانند با استفاده از دستورالعمل‌های متنی و یک قالب خاص، شروع به کدنویسی کنند. این زبان برنامه‌نویسی به دلیل سادگی و قدرتمند بودنش، در پروژه‌های مختلفی مورداستفاده قرار می‌گیرد.

برای کسانی است که قبلاً از اسکرچ استفاده کرده‌اند، پایتون یک گزینه عالی است. پایتون نسبت به اسکرچ انعطاف‌پذیری بیشتری دارد و البته محیط آن «سنتی‌تر» هم هست. البته این به معنای این نیست که یادگیری آن دشوار است: با کمی تمرین، هر کسی می‌تواند با هر هدفی از محاسبات ساده گرفته تا بازی‌های پیچیده را در پایتون برنامه‌نویسی کند.

این فصل بر پایه اصطلاحات و مفاهیمی است که در فصل 4 با موضوع برنامه‌نویسی با اسکرچ 3 مطرح شد؛ بنابراین اگر هنوز تمرین‌های فصل قبل را انجام نداده‌اید، بهتر است ابتدا به سراغ فصل قبل بروید. تنها در این صورت است که می‌توانید مطالب این فصل را خیلی راحت‌تر یاد بگیرید.

معرفی محیط توسعه یکپارچه Thonny مخصوص پایتون

خداحافظ اسکرچ، سلام پایتون! آموزش برنامه‌نویسی در رزبری پای

راهنمای جامع برنامه‌نویسی با اسکرچ (Scratch) در رزبری‌پای نوارابزار/ : Toolbar یک نوارابزار با آیکون‌های کاربرپسند است که به شما امکان انجام کارهای متفاوتی را در پایتون اعم از ایجاد، ذخیره، بارگذاری و یا اجرای یک پروژه می‌دهد. علاوه بر این، کاربران می‌توانند برنامه‌های خود را به روش‌های مختلف تست و آزمایش کنند.

راهنمای جامع برنامه‌نویسی با اسکرچ (Scratch) در رزبری‌پای ناحیه اسکریپت‌نویسی/ Script Area: اینجا در واقع جایی است که برنامه‌های پایتون را می‌نویسید. این ناحیه به دو قسمت تقسیم شده است: قسمت اصلی برای برنامه‌نویسی است و یک نوار حاشیه‌ای هم وجود دارد که شماره خطوط را نشان می‌دهد.

راهنمای جامع برنامه‌نویسی با اسکرچ (Scratch) در رزبری‌پای پوسته پایتون/ Python Shell: پوسته پایتون به شما این امکان را می‌دهد تا دستورات جداگانه‌ای را تایپ کنید که بلافاصله پس از فشاردادن کلید ENTER اجرا می‌شوند. در این قسمت همچنین اطلاعاتی درباره برنامه‌های در حال اجرا نمایش داده می‌شود.

ورژن‌های مختلف Thonny

Thonny دو نسخه رابط کاربری دارد: «حالت معمولی» و «حالت ساده» که دومی برای مبتدیان بهتر است. در این فصل از رابط کاربری ساده استفاده می‌کنیم که در واقع حالت پیش‌فرضی است که وقتی  Thonny را از قسمت برنامه‌نویسی منوی رزبری باز می‌کنید، خواهید دید.

اولین برنامه در پایتون: Hello, World!

مشابه سایر برنامه‌های از پیش نصب شده در رزبری‌ پای، Thonny  هم از طریق منو قابل‌دسترسی است. کافی است روی آیکون رزبری کلیک کرده، ماوس را روی Programming  قرار دهید و بعد روی Thonny Python IDE کلیک کنید. پس از چند ثانیه، رابط کاربری Thonny (به طور پیش‌فرض در حالت ساده) لود می‌شود.

 Thonny یک محیط توسعه یکپارچه یا IDE است که یک نام پیچیده؛ اما توضیح ساده‌ای دارد. در این پکیج تمام ابزارهای مختلفی که برای نوشتن یا توسعه نرم‌افزار نیاز است، در یک رابط کاربری تجمیع شده است. IDE های مختلف بسیاری در دسترس هستند که برخی از آن‌ها از بسیاری از زبان‌های برنامه‌نویسی مختلف پشتیبانی می‌کنند در حالی‌ که برخی دیگر، مانند Thonny، بر پشتیبانی از یک زبان برنامه‌نویسی متمرکز هستند.

وقتی کلید ENTER را فشار دهید، خواهید دید که برنامه بلافاصله اجرا می‌شود: پایتون در همان ناحیه پوسته با ارسال پیام Hello, World! (شکل زیر) پاسخ شما را خواهد داد. دلیل این است که پوسته مستقیماً به مفسر پایتون متصل است. کار مفسر پایتون چک کردن دستورات شما و تفسیر آن‌ها است. این حالت تعاملی شبیه به یک مکالمه است که در آن هر بار که دستوری را وارد می‌کنید، مفسر پایتون آن را تفسیر کرده و پاسخ مناسب می‌دهد.

پایتون پیام !Hello, World را در پوسته چاپ می‌کند.

پایتون پیام !Hello, World را در پوسته چاپ می‌کند.

خطای نحوی (SYNTAX ERROR)

اگر برنامه اجرا نشد و به‌جای آن پیامی با عنوان SYNTAX ERROR در ناحیه پوسته نمایش داده شد، یعنی در چیزی که نوشته‌اید اشتباهی وجود دارد. در پایتون باید دستورات را به روش بسیار خاصی بنویسید. اگر یک پرانتز یا حتی یک علامت نقل‌قول جا بیندازید، کلمه ‘print’ را اشتباه تایپ کنید، کلمه print را با P  بزرگ بنویسید، یا حتی نمادهای اضافی در جایی از دستور اضافه کنید؛ برنامه اجرا نمی‌شود. پس دوباره دستور را تایپ کنید و مطمئن شوید که طبق توضیحاتی که دادیم، دستور را تایپ کرده‌اید و سپس کلید ENTER را فشار دهید.

در پایتون علاوه بر استفاده از حالت تعاملی (Interactive Mode)، می‌توانید برنامه‌های خود را در ناحیه اسکریپت (Script Area)  هم بنویسید. از حالت تعاملی معمولاً برای تست سریع دستورات استفاده می‌شود. بااین‌حال برای نوشتن برنامه‌های کامل‌تر و پیچیده‌تر، از ناحیه اسکریپت استفاده می‌شود. در این ناحیه می‌توانید چند خط کدنویسی کنید و سپس همه را با هم اجرا کنید. بدین منظور در ناحیه اسکریپت در وسط پنجره Thonny کلیک کنید و کدنویسی را شروع کنید.

شاید برای شما مفید باشد:
بررسی معماری داخلی AVR

وقتی کلید ENTER را فشار می‌دهید، هیچ اتفاقی نمی‌افتد، مگر این‌که یک خط جدید و خالی در ناحیه اسکریپت ایجاد شود. برای اینکه در این حالت برنامه کار کند، باید روی آیکون Run در نوارابزار Thonny کلیک کنید. سپس از شما خواسته می‌شود که برنامه را ذخیره کنید. یک اسم مانند Hello World وارد کرده و روی دکمه Save کلیک کنید. پس از ذخیره، دو پیام در ناحیه پوسته پایتون ظاهر خواهد شد (شکل 2-5):

اجرای ساده برنامه

اجرای ساده برنامه

در خط اول به مفسر پایتون گفته می‌شود که برنامه‌ را Run یا اجرا  کند. خط دوم در واقع خروجی برنامه است، یعنی همان پیامی که به پایتون گفته شده چاپ کند.

 تبریک! حال اولین برنامه پایتون خود را در هر دو حالت تعاملی و اسکریپت نوشته و ران کردید.

چالش: پیام جدید

ببینید آیا می‌توانید پیامی که برنامه پایتون به‌عنوان خروجی نمایش می‌دهد را تغییر دهید؟ اگر قرار بود دستورات بیشتری اضافه کنید، از حالت تعاملی استفاده می‌کردید یا اسکریپت؟ اگر پرانتزها یا علامت‌های نقل‌قول را حذف کنید، چه اتفاقی می‌افتد؟

گام‌های بعدی: حلقه‌ها و تورفتگی کد

همان‌طور که در اسکرچ از بلوک‌های پازل مانند برای کنترل و ساخت بخش‌های مختلف برنامه استفاده می‌شود، پایتون نیز روش خاص خود را برای کنترل ترتیب اجرای برنامه‌ها دارد:

 تورفتگی (indentation). برای ساخت یک برنامه جدید، بر روی آیکون New در نوارابزار Thonny کلیک کنید. به این صورت بدون اینکه برنامه قبلی پاک شود، می‌توانید یک برنامه جدید بسازید. در واقع Thonny یک زبانه جدید بالای ناحیه اسکریپت ایجاد خواهد کرد. با تایپ‌کردن کد زیر شروع کنید:

در خط اول یک پیام ساده در پوسته چاپ می‌شود، درست مثل برنامه Hello World .

 در خط دوم یک حلقه مشخص شروع می‌شود که عملکرد آن مشابه اسکرچ است:

 یک شمارنده به نام i به حلقه و یک سری اعداد (که به آن دستور range گفته می‌شود، از عدد 0 شروع و تا عدد 10 بشمرد اما هیچ‌وقت به 10 نمی‌رسد ) اختصاص می‌یابد.

 علامت دو نقطه (:) در پایتون به این معناست که دستور بعدی باید بخشی از حلقه باشد.

اگر به‌خاطر داشته باشید در اسکرچ، دستورات به شکل بلوک‌هایی در یک حلقه C  شکل قرار می‌گرفتند. پایتون از روش متفاوتی استفاده می‌کند: تورفتگی کد (indentation). خط بعدی با چهار اسپیس (space) شروع می‌شود. وقتی پس از خط دو بار کلید ENTER  را فشار دهید،  Thonny  این اسپیس‌ها را اضافه می‌کند:

این فضاهای خالی/ اسپیس‌ها باعث می‌شوند که این خط نسبت به خطوط دیگر تورفتگی داشته باشد. تورفتگی روشی است که پایتون برای تشخیص تفاوت دستوراتی که خارج از حلقه هستند و دستوراتی که داخل حلقه هستند، استفاده می‌کند. این تورفتگی در پایتون به‌عنوان تودرتو (nested) شناخته می‌شود.

وقتی در پایان خط سوم کلید ENTER را فشار دهید،  Thonny  به طور خودکار در خط بعدی تورفتگی ایجاد می‌کند. دلیل این است که فرض می‌کند این خط بخشی از حلقه است. برای حذف این تورفتگی، کافی است قبل از تایپ‌کردن خط چهارم فقط یک‌بار کلید BACKSPACE  را فشار دهید:

حال برنامه چهار خطی شما کامل شده است.

 خط اول خارج از حلقه قرار دارد و فقط یک‌بار اجرا خواهد شد؛

 خط دوم حلقه را مشخص می‌کند؛

 خط سوم داخل حلقه قرار دارد و هر بار که حلقه اجرا شود، آن هم یک‌بار اجرا خواهد شد.

 خط چهارم هم خارج از حلقه قرار دارد.

موارد بالا می‌بایست منطبق با الگو باشد

روی آیکون Run کلیک کنید، برنامه را با نام Indentation ذخیره کنید و سپس ناحیه پوسته را برای مشاهده خروجی بررسی کنید (شکل 3-5):

شاید برای شما مفید باشد:
ساخت مبدل سریال به وای فای توسط ESP8266
اجرای یک حلقه

اجرای یک حلقه

شمارش از صفر

پایتون یک زبان برنامه‌نویسی مبتنی بر صفر است، به این معنی که شمارش را از 0 شروع می‌کند نه از 1 (به همین دلیل برنامه اعداد 0 تا 9 را چاپ می‌کند نه 1 تا 10). می‌توانید این روش را با تغییر دستور range(10) به range(1, 11) یا هر بازه دیگری که دوست دارید، تغییر دهید.

تورفتگی اگرچه یکی از ویژگی‌های قدرتمند پایتون است؛ اما یکی از دلایلی است که باعث می‌شود برنامه عملکرد موردانتظار شما را نداشته باشد. این موضوع به حدی است که هنگام جستجوی مشکلات در یک برنامه، فرایند دیباگینگ دو بار تورفتگی را بررسی می‌کند. به‌خصوص وقتی حلقه‌ها تودرتو می‌شوند (nesting loops).

یکی دیگر از ویژگی‌های پایتون، پشتیبانی از حلقه‌های بی‌نهایت است که بدون پایان اجرا می‌شوند. برای اینکه یک حلقه مشخص را به یک حلقه بی‌نهایت تبدیل کنید، کافی است خط دوم را به‌صورت زیر تغییر دهید:

اگر روی آیکون Run کلیک کنید، این خطا را خواهید دید: name ‘i’ is not defined. به این صورت خطی که متغیر ‘i’ را تعریف و به آن مقدار اختصاص می‌دهد، حذف می‌شود. برای رفع این موضوع، خط 3 را ویرایش کنید تا این متغیر حذف شود:

روی آیکون Run کلیک کنید. سپس پیام Loop starting! را خواهید دید که به دنبال آن یک استرینگ بی‌پایان از پیام‌های Loop running   چاپ می‌شود (شکل 4-5). پیام Loop finished! را هرگز نخواهید دید، چون حلقه بی‌پایان است: هر بار که پایتون نمایش پیام Loop running! را به اتمام می‌رساند، به ابتدای حلقه باز می‌گردد و دوباره آن را نمایش می‌دهد.

شکل زیر: یک حلقه بی‌نهایت تا زمانی که برنامه را متوقف کنید، ادامه می‌یابد

روی آیکون Stop در نوارابزار Thonny کلیک کنید تا برنامه کاری که انجام می‌دهد را متوقف کند. پیامی در ناحیه پوسته Python ظاهر می‌شود و سپس برنامه متوقف خواهد شد و هرگز به خط 4 نخواهد رسید.

چالش: تغییر حلقه‌ها

آیا می‌توانید حلقه‌ای را تغییر دهید؟

آیا می‌توانید یک حلقه مشخص دیگر به برنامه اضافه کنید؟

چگونه می‌توانید یک حلقه در یک حلقه دیگر اضافه کنید؟

 اگر حلقه‌ای در حلقه دیگر تعریف شود، چه عملکردی خواهد داشت؟

شرط‌ها و متغیرها

متغیرها، همان‌طور که در همه زبان‌های برنامه‌نویسی وجود دارند، در پایتون هم برای کنترل حلقه‌ها و بسیاری موارد دیگر استفاده می‌شوند. با کلیک بر روی آیکون New در منوی Thonny، ساخت یک برنامه جدید را شروع کنید. سپس موارد زیر را در قسمت اسکریپت تایپ کنید:

روی آیکون Run کلیک کنید و برنامه را با نام Name Test ذخیره کنید و ببینید چه اتفاقی در پوسته می‌افتد:

 از شما خواسته می‌شود که نام خود را وارد کنید. نام خود را در پوسته وارد کنید و کلید ENTER را فشار دهید. ازآنجایی‌که این تنها دستور برنامه است، اتفاق دیگری نخواهد افتاد (شکل زیر). اگر بخواهید کاری طبق داده‌هایی که در متغیر وارد کرده‌اید انجام شود، باید خطوط بیشتری در برنامه داشته باشید.

تابع ورودی به شما این امکان را می‌دهد که از کاربر بخواهید داده‌هایی را به عنوان ورودی تایپ کند.

تابع ورودی به شما این امکان را می‌دهد که از کاربر بخواهید داده‌هایی را به عنوان ورودی تایپ کند.

 برای اینکه برنامه بتواند بر اساس نام وارد شده کاری انجام دهد، باید یک دستور شرطی اضافه کنید. بدین منظور کد زیر را تایپ کنید:

یکی از قابلیت‌های Thonny  این است که تشخیص می‌دهد کد کجا به تورفتگی نیاز دارد و بنابراین این کار را به‌صورت خودکار انجام می‌دهد. بااین‌حال قادر به تشخیص این موضوع نیست که کد کجا دیگر به این تورفتگی نیاز ندارد. به همین دلیل باید هر جا لازم است این فضاهای خالی (spaces) را حذف کنید.

روی آیکون Run کلیک کنید و نام خود را در ناحیه پوسته وارد کنید. اگر نام شما چیزی غیر از Clark Kent باشد، این پیام را خواهید دید:

You are not Superman!

 حال روی Run کلیک کنید و این بار نام Clark Kent را وارد کنید. توجه کنید که ابتدای این دو کلمه را با حروف بزرگ C و K تایپ کنید. این بار، برنامه تشخیص می‌دهد که شما در واقع سوپرمن هستید:

You are Superman

تا زمانی که بگویید اسم شما Clark Kent است، برنامه نام شما را می‌پرسد.

علامت‌ == به پایتون می‌گویند که یک مقایسه انجام دهد و بررسی کند که آیا متغیر userName با متن برنامه – که به اسم استرینگ شناخته می‌شود – مطابقت دارد یا نه.

شاید برای شما مفید باشد:
آموزش پردازش تصویر در پایتون – تشخیص الگوهای مشابه

 اگر با اعداد کار می‌کنید، موارد دیگری هم هست که می‌توانید مقایسه کنید: >  برای بررسی اینکه آیا یک عدد از عدد دیگر بزرگ‌تر است یا نه. <  برای بررسی اینکه آیا عدد موردنظر از عدد دیگر کمتر است یا نه و => برای بررسی اینکه آیا عدد موردنظر مساوی یا بزرگ‌تر از عدد دیگر هست یا نه. علامت != هم به معنای «مساوی نیست» است که دقیقاً مخالف == است. این سیمبل‌ یا نشانه‌ها به‌عنوان عملگرهای مقایسه شناخته می‌شوند.

تا زمانی که بگویید اسم شما Clark Kent است، برنامه نام شما را می‌پرسد.

تا زمانی که بگویید اسم شما Clark Kent است، برنامه نام شما را می‌پرسد.

استفاده از = و ==

راه استفاده از متغیرها این است که تفاوت بین = و == را یاد بگیرید. به‌خاطر داشته باشید:

  • =  به معنی این است که «این متغیر را برابر با این مقدار قرار بده.
  •  == به معنی این است که «بررسی کن که آیا متغیر برابر با این مقدار هست یا نیست.

اگر این دو علامت را اشتباه بگیرید، احتمالاً (حتماً) برنامه‌ای که می‌نویسید کار نمی‌کند!

از این عملگرها در حلقه‌ها هم می‌توان استفاده کرد. بدین منظور خطوط 2 تا 5 را حذف کنید و سپس متن زیر را جایگزین کنید:

دوباره روی آیکون Run کلیک کنید. تا زمانی که تأیید کند شما Superman  هستید، حلقه سؤال‌کردن اسم شما ادامه پیدا خواهد کرد (شکل 7-5) – شبیه به یک رمز عبور بسیار ساده. برای اینکه از حلقه خارج شوید، عبارت Clark Kent  را تایپ کنید یا روی آیکون Stop در نوار ابزار Thonny کلیک کنید.

 تبریک!

 حال می‌دانید چگونه از دستورات شرطی و عملگرهای مقایسه‌ای استفاده کنید.

چالش: اضافه‌کردن سؤالات بیشتر

آیا می‌توانید برنامه را به‌گونه‌ای تغییر دهید که بیش از یک سؤال بپرسد و پاسخ‌ها در چندین متغیر ذخیره شوند؟

آیا می‌توانید برنامه‌ای بنویسید که با استفاده از دستورات شرطی و عملگرهای مقایسه‌ای مشخص کند که آیا عدد وارد شده بیشتر از 5 است یا کمتر از آن؟

(مانند برنامه‌ای که در قسمت های قبلی به عنوان برنامه‌نویسی با اسکرچ ساختید).

اطلاعات
36
0
0
اشتراک و حمایت
profile نویسنده: بهاره بهرامی متخصص الکترونیک

ویراستار: M Hariri
مقالات بیشتر

slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
family

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله